mbox series

[0/5] i3c: dw,ast2600: Add In-Band Interrupt support

Message ID cover.1680161823.git.jk@codeconstruct.com.au (mailing list archive)
Headers show
Series i3c: dw,ast2600: Add In-Band Interrupt support | expand

Message

Jeremy Kerr March 30, 2023, 7:50 a.m. UTC
This series implements In-Band Interrupt (IBI) support for the ast2600
i3c driver, by adding the required generic code in the dw driver, then
enabling that (with a required hardware workaround) in the ast2600
driver.

As always: comments, queries etc. are most welcome.

Cheers,


Jeremy

Jeremy Kerr (5):
  i3c: dw: Create a generic fifo read function
  i3c: dw: Turn DAT array entry into a struct
  i3c: dw: Add support for in-band interrupts
  i3c: dw: Add a platform facility for IBI PEC workarounds
  i3c: ast2600: enable IBI support

 drivers/i3c/master/ast2600-i3c-master.c |  21 ++
 drivers/i3c/master/dw-i3c-master.c      | 336 ++++++++++++++++++++++--
 drivers/i3c/master/dw-i3c-master.h      |  32 ++-
 3 files changed, 370 insertions(+), 19 deletions(-)

Comments

Joel Stanley April 5, 2023, 2:27 a.m. UTC | #1
On Thu, 30 Mar 2023 at 07:50, Jeremy Kerr <jk@codeconstruct.com.au> wrote:
>
> This series implements In-Band Interrupt (IBI) support for the ast2600
> i3c driver, by adding the required generic code in the dw driver, then
> enabling that (with a required hardware workaround) in the ast2600
> driver.
>
> As always: comments, queries etc. are most welcome.

I am not fluent in i3c but the changes look okay to me.

Reviewed-by: Joel Stanley <joel@jms.id.au>

Cheers,

Joel

>
> Cheers,
>
>
> Jeremy
>
> Jeremy Kerr (5):
>   i3c: dw: Create a generic fifo read function
>   i3c: dw: Turn DAT array entry into a struct
>   i3c: dw: Add support for in-band interrupts
>   i3c: dw: Add a platform facility for IBI PEC workarounds
>   i3c: ast2600: enable IBI support
>
>  drivers/i3c/master/ast2600-i3c-master.c |  21 ++
>  drivers/i3c/master/dw-i3c-master.c      | 336 ++++++++++++++++++++++--
>  drivers/i3c/master/dw-i3c-master.h      |  32 ++-
>  3 files changed, 370 insertions(+), 19 deletions(-)
>
> --
> 2.39.2
>
Alexandre Belloni April 27, 2023, 10:35 p.m. UTC | #2
I'm sorry about the late reply, I've been super busy this month. I'm
happy to take this series but it doesn't apply on top of v3 of your
other series. I guess this will have to wait for the next release.

On 30/03/2023 15:50:31+0800, Jeremy Kerr wrote:
> This series implements In-Band Interrupt (IBI) support for the ast2600
> i3c driver, by adding the required generic code in the dw driver, then
> enabling that (with a required hardware workaround) in the ast2600
> driver.
> 
> As always: comments, queries etc. are most welcome.
> 
> Cheers,
> 
> 
> Jeremy
> 
> Jeremy Kerr (5):
>   i3c: dw: Create a generic fifo read function
>   i3c: dw: Turn DAT array entry into a struct
>   i3c: dw: Add support for in-band interrupts
>   i3c: dw: Add a platform facility for IBI PEC workarounds
>   i3c: ast2600: enable IBI support
> 
>  drivers/i3c/master/ast2600-i3c-master.c |  21 ++
>  drivers/i3c/master/dw-i3c-master.c      | 336 ++++++++++++++++++++++--
>  drivers/i3c/master/dw-i3c-master.h      |  32 ++-
>  3 files changed, 370 insertions(+), 19 deletions(-)
> 
> -- 
> 2.39.2
> 
> 
> -- 
> linux-i3c mailing list
> linux-i3c@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-i3c
Jeremy Kerr April 28, 2023, 12:01 a.m. UTC | #3
Hi Aledandre,

> I'm sorry about the late reply, I've been super busy this month. I'm
> happy to take this series but it doesn't apply on top of v3 of your
> other series. I guess this will have to wait for the next release.

That was originally based on v3 - I think you've applied v2 of the
ast2600 series. 

In:

 https://git.kernel.org/pub/scm/linux/kernel/git/i3c/linux.git/commit/?id=7dcbb33d3b2b8bd903d3157fc7249a4cb4f6820d

your linux-i3c tree has the v2 dw struct, with:

+	/* platform-specific data */
+	const struct dw_i3c_platform_ops *platform_ops;
+	void *platform_data;
+};

(platform_data was removed in v3).

The Link: tag is correct though.

Cheers,


Jeremy
Alexandre Belloni April 28, 2023, 6:51 a.m. UTC | #4
On 28/04/2023 08:01:39+0800, Jeremy Kerr wrote:
> Hi Aledandre,
> 
> > I'm sorry about the late reply, I've been super busy this month. I'm
> > happy to take this series but it doesn't apply on top of v3 of your
> > other series. I guess this will have to wait for the next release.
> 
> That was originally based on v3 - I think you've applied v2 of the
> ast2600 series. 
> 
> In:
> 
>  https://git.kernel.org/pub/scm/linux/kernel/git/i3c/linux.git/commit/?id=7dcbb33d3b2b8bd903d3157fc7249a4cb4f6820d
> 
> your linux-i3c tree has the v2 dw struct, with:
> 
> +	/* platform-specific data */
> +	const struct dw_i3c_platform_ops *platform_ops;
> +	void *platform_data;
> +};
> 
> (platform_data was removed in v3).
> 
> The Link: tag is correct though.

Indeed, I fixed that but this wasn't the issue. Patch 5/5 doesn't apply.
If you look at the context, it has "struct ast2600_i3c_platform_data {"
which is "struct ast2600_i3c {" in your v3. Also the chunk in
ast2600_i3c_probe() can't apply.

I fixed it up and pushed, please check.
Jeremy Kerr April 28, 2023, 7:34 a.m. UTC | #5
Hi Alexandre,

> Indeed, I fixed that but this wasn't the issue. Patch 5/5 doesn't
> apply. If you look at the context, it has "struct
> ast2600_i3c_platform_data {" which is "struct ast2600_i3c {" in your
> v3. Also the chunk in ast2600_i3c_probe() can't apply.

Ah yep, looks like I'd got out of sync with the series for 5/5.

> I fixed it up and pushed, please check.

Looks good to me, thanks for sorting that out. I'll do some testing here
in the meantime too.

Cheers,


Jeremy