[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5a0ee0ce-c44a-426a-9019-bf801f22d8f6@linux.intel.com>
Date: Fri, 23 Aug 2024 13:10:13 +0300
From: Jarkko Nikula <jarkko.nikula@...ux.intel.com>
To: Shyam Sundar S K <Shyam-sundar.S-k@....com>,
Alexandre Belloni <alexandre.belloni@...tlin.com>
Cc: Guruvendra Punugupati <Guruvendra.Punugupati@....com>,
Krishnamoorthi M <krishnamoorthi.m@....com>, linux-i3c@...ts.infradead.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v4 3/6] i3c: mipi-i3c-hci: Add a quirk to set PIO mode
On 8/21/24 4:35 PM, Shyam Sundar S K wrote:
> The AMD HCI controller currently only supports PIO mode but exposes DMA
> rings to the OS, which leads to the controller being configured in DMA
> mode. To address this, add a quirk to avoid configuring the controller in
> DMA mode and default to PIO mode.
>
> Additionally, introduce a generic quirk infrastructure to the mipi-i3c-hci
> driver to facilitate seamless future quirk additions.
>
> Co-developed-by: Krishnamoorthi M <krishnamoorthi.m@....com>
> Signed-off-by: Krishnamoorthi M <krishnamoorthi.m@....com>
> Co-developed-by: Guruvendra Punugupati <Guruvendra.Punugupati@....com>
> Signed-off-by: Guruvendra Punugupati <Guruvendra.Punugupati@....com>
> Signed-off-by: Shyam Sundar S K <Shyam-sundar.S-k@....com>
> ---
> drivers/i3c/master/mipi-i3c-hci/core.c | 9 ++++++++-
> drivers/i3c/master/mipi-i3c-hci/hci.h | 1 +
> 2 files changed, 9 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/i3c/master/mipi-i3c-hci/core.c b/drivers/i3c/master/mipi-i3c-hci/core.c
> index d1952a5619d4..3aa4aa9deb56 100644
> --- a/drivers/i3c/master/mipi-i3c-hci/core.c
> +++ b/drivers/i3c/master/mipi-i3c-hci/core.c
> @@ -754,6 +754,11 @@ static int i3c_hci_init(struct i3c_hci *hci)
> return -EINVAL;
> }
>
> + /* Quirk for HCI_QUIRK_PIO_MODE on AMD platforms */
> + regval = reg_read(HCI_VERSION);
> + if (hci->quirks & HCI_QUIRK_PIO_MODE)
> + hci->RHS_regs = NULL;
> +
> /* Try activating DMA operations first */
> if (hci->RHS_regs) {
> reg_clear(HC_CONTROL, HC_CONTROL_PIO_MODE);
This looks otherwise ok to me but with "regval = reg_read(HCI_VERSION);"
removed. I commented that in the patch 2/6.
Powered by blists - more mailing lists