RE: I3C Mastership RFC

Vitor Soares
2019-11-11T12:31:03Z

Hi Boris and Przemek,

I have a working version for tests purposes. Yet, I have some basic TODOS
to address during the takeover of the bus.

I don't know if you are aware but the secondary master feature
description was improved for the spec v1.1 and it makes sense to take a
look on that.

Regarding the current approach (at least last Patch series and what I
did) I still don't know if it is the best solution.
I remember in the beginning of secondary master support I discuss with
Boris about USB OTG vs I2C slave mode and now having a better
understanding how USB OTG works I think we should address secondary
master in a similar way. At least for me it seems to be more modular and
ease to expand.

From: Boris Brezillon <boris.brezillon@collabora.com>
Date: Sun, Nov 10, 2019 at 10:30:05

> Hi Przemek,
>
> On Wed, 6 Nov 2019 10:33:16 +0100
> Przemyslaw Gaj <pgaj@cadence.com> wrote:
>
> > Hi Vitor,
> >
> > We discussed with Joao in Lyon that you are ready with mastership RFC.
> > The question is when do you think you are able to post this proposal.
> > Our customer needs that and is pushing hard. I would like also to run all
> > the tests in our complex configuration and check how does it work.
>
> If you need this feature, I'd recommend that you lead the discussion
> (as you did so far) and post a new version. Maybe try to address some of
> the concerns raised by Vitor along the way. I know that you were in
> favor of getting back to one of the previous iteration (discussed
> during ELCE), so please go ahead and do what you think is the more
> appropriate.

I will try to put everything together and send a version so you can take
a look.

>
> As part of this work, I'd like you to look at how mastership handover
> is handled in HCI. I'm not asking you to implement an HCI driver, but
> having an idea of what would be done in each of the new hooks would be
> good (and maybe describing that in the cover letter).

We may need another call back for "deliver mastership" because the way
how controllers do request/deliver may differ.

>
> Thanks,
>
> Boris

Apart of all this it necessary to think how request/deliver will take
place in a functionally system.
- main master just deliver the ownership to secondary master and expect
it take care of the bus.
- secondary master request the ownership and automatically send back
the ownership to the main master.
- give a time window in which each master can own the bus.

All this are topics that I'm going discussing with people that are
working with i3c.

Best regards,
Vitor Soares