From: Serge Semin <Sergey.Semin@baikalelectronics.ru>
To: Damien Le Moal <damien.lemoal@opensource.wdc.com>,
Hans de Goede <hdegoede@redhat.com>, Jens Axboe <axboe@kernel.dk>,
Hannes Reinecke <hare@suse.de>
Cc: Serge Semin <Sergey.Semin@baikalelectronics.ru>,
Serge Semin <fancer.lancer@gmail.com>,
Alexey Malahov <Alexey.Malahov@baikalelectronics.ru>,
Pavel Parkhomenko <Pavel.Parkhomenko@baikalelectronics.ru>,
Rob Herring <robh+dt@kernel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
<linux-ide@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
<devicetree@vger.kernel.org>
Subject: [PATCH v7 15/23] ata: ahci: Convert __ahci_port_base to accepting hpriv as arguments
Date: Mon, 22 Aug 2022 21:37:20 +0300 [thread overview]
Message-ID: <20220822183728.24434-16-Sergey.Semin@baikalelectronics.ru> (raw)
In-Reply-To: <20220822183728.24434-1-Sergey.Semin@baikalelectronics.ru>
The port base address may be required even before the ata_host instance is
initialized and activated, for instance in the ahci_save_initial_config()
method which we are about to update (consider this modification as a
preparation for that one). Seeing the __ahci_port_base() function isn't
used much it's the best candidate to provide the required functionality.
So let's convert it to accepting the ahci_host_priv structure pointer.
Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
Reviewed-by: Hannes Reinecke <hare@suse.de>
---
Changelog v5:
- Fix some grammar notes in the patchlog. (@Damien)
---
drivers/ata/ahci.c | 2 +-
drivers/ata/ahci.h | 7 ++++---
2 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c
index bacb597a0d32..51c0c1dd91ea 100644
--- a/drivers/ata/ahci.c
+++ b/drivers/ata/ahci.c
@@ -690,7 +690,7 @@ static void ahci_pci_init_controller(struct ata_host *host)
mv = 2;
else
mv = 4;
- port_mmio = __ahci_port_base(host, mv);
+ port_mmio = __ahci_port_base(hpriv, mv);
writel(0, port_mmio + PORT_IRQ_MASK);
diff --git a/drivers/ata/ahci.h b/drivers/ata/ahci.h
index cc4f40e6c924..5d9db5e7476c 100644
--- a/drivers/ata/ahci.h
+++ b/drivers/ata/ahci.h
@@ -432,10 +432,9 @@ int ahci_host_activate(struct ata_host *host, struct scsi_host_template *sht);
void ahci_error_handler(struct ata_port *ap);
u32 ahci_handle_port_intr(struct ata_host *host, u32 irq_masked);
-static inline void __iomem *__ahci_port_base(struct ata_host *host,
+static inline void __iomem *__ahci_port_base(struct ahci_host_priv *hpriv,
unsigned int port_no)
{
- struct ahci_host_priv *hpriv = host->private_data;
void __iomem *mmio = hpriv->mmio;
return mmio + 0x100 + (port_no * 0x80);
@@ -443,7 +442,9 @@ static inline void __iomem *__ahci_port_base(struct ata_host *host,
static inline void __iomem *ahci_port_base(struct ata_port *ap)
{
- return __ahci_port_base(ap->host, ap->port_no);
+ struct ahci_host_priv *hpriv = ap->host->private_data;
+
+ return __ahci_port_base(hpriv, ap->port_no);
}
static inline int ahci_nr_ports(u32 cap)
--
2.35.1
next prev parent reply other threads:[~2022-08-22 18:39 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-08-22 18:37 [PATCH v7 00/23] ata: ahci: Add DWC/Baikal-T1 AHCI SATA support Serge Semin
2022-08-22 18:37 ` [PATCH v7 01/23] dt-bindings: ata: ahci-platform: Move dma-coherent to sata-common.yaml Serge Semin
2022-08-22 18:37 ` [PATCH v7 02/23] dt-bindings: ata: ahci-platform: Detach common AHCI bindings Serge Semin
2022-08-22 18:37 ` [PATCH v7 03/23] dt-bindings: ata: ahci-platform: Clarify common AHCI props constraints Serge Semin
2022-08-22 18:37 ` [PATCH v7 04/23] dt-bindings: ata: sata: Extend number of SATA ports Serge Semin
2022-08-22 18:37 ` [PATCH v7 05/23] dt-bindings: ata: sata-brcm: Apply common AHCI schema Serge Semin
2022-08-22 18:37 ` [PATCH v7 06/23] ata: libahci_platform: Convert to using platform devm-ioremap methods Serge Semin
2022-08-22 18:37 ` [PATCH v7 07/23] ata: libahci_platform: Convert to using devm bulk clocks API Serge Semin
2022-08-23 23:42 ` kernel test robot
2022-08-24 23:19 ` Damien Le Moal
2022-08-25 5:53 ` Serge Semin
2022-08-22 18:37 ` [PATCH v7 08/23] ata: libahci_platform: Sanity check the DT child nodes number Serge Semin
2022-08-22 18:37 ` [PATCH v7 09/23] ata: libahci_platform: Parse ports-implemented property in resources getter Serge Semin
2022-08-22 18:37 ` [PATCH v7 10/23] ata: libahci_platform: Introduce reset assertion/deassertion methods Serge Semin
2022-08-22 18:37 ` [PATCH v7 11/23] dt-bindings: ata: ahci: Add platform capability properties Serge Semin
2022-08-22 18:37 ` [PATCH v7 12/23] ata: libahci: Extend port-cmd flags set with port capabilities Serge Semin
2022-08-22 18:37 ` [PATCH v7 13/23] ata: libahci: Discard redundant force_port_map parameter Serge Semin
2022-08-22 18:37 ` [PATCH v7 14/23] ata: libahci: Don't read AHCI version twice in the save-config method Serge Semin
2022-08-22 18:37 ` Serge Semin [this message]
2022-08-22 18:37 ` [PATCH v7 16/23] ata: ahci: Introduce firmware-specific caps initialization Serge Semin
2022-08-22 18:37 ` [PATCH v7 17/23] dt-bindings: ata: ahci: Add DWC AHCI SATA controller DT schema Serge Semin
2022-08-22 18:37 ` [PATCH v7 18/23] ata: libahci_platform: Add function returning a clock-handle by id Serge Semin
2022-08-22 18:37 ` [PATCH v7 19/23] ata: ahci: Add DWC AHCI SATA controller support Serge Semin
2022-09-04 0:34 ` kernel test robot
2022-09-07 18:25 ` Serge Semin
2022-08-22 18:37 ` [PATCH v7 20/23] dt-bindings: ata: ahci: Add Baikal-T1 AHCI SATA controller DT schema Serge Semin
2022-08-22 18:37 ` [PATCH v7 21/23] ata: ahci-dwc: Add platform-specific quirks support Serge Semin
2022-08-22 18:37 ` [PATCH v7 22/23] ata: ahci-dwc: Add Baikal-T1 AHCI SATA interface support Serge Semin
2022-08-22 18:37 ` [PATCH v7 23/23] MAINTAINERS: Add maintainers for DWC AHCI SATA driver Serge Semin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220822183728.24434-16-Sergey.Semin@baikalelectronics.ru \
--to=sergey.semin@baikalelectronics.ru \
--cc=Alexey.Malahov@baikalelectronics.ru \
--cc=Pavel.Parkhomenko@baikalelectronics.ru \
--cc=axboe@kernel.dk \
--cc=damien.lemoal@opensource.wdc.com \
--cc=devicetree@vger.kernel.org \
--cc=fancer.lancer@gmail.com \
--cc=hare@suse.de \
--cc=hdegoede@redhat.com \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=linux-ide@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=robh+dt@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®