RE: I3C Mastership RFC

Vitor Soares
2019-11-25T11:19:55Z

Hi,

From: Przemyslaw Gaj <pgaj@cadence.com>
Date: Mon, Nov 25, 2019 at 08:02:22

> Hi Vitor,
>
> I don't want to bother you but I have to start working on that ASAP. I
> hope you understand. Can you answer few questions?

Sorry I'm already working on it but I'm a bit delayed.

>
> The 11/14/2019 14:17, Vitor Soares wrote:
> >
> > From: Boris Brezillon <boris.brezillon@collabora.com>
> > Date: Thu, Nov 14, 2019 at 12:32:14
> >
> > > Hi Vitor,
> > >
> > > On Thu, 14 Nov 2019 11:56:00 +0000
> > > Vitor Soares <Vitor.Soares@synopsys.com> wrote:
> > >
> > > > Hi,
> > > >
> > > > From: Przemyslaw Gaj <pgaj@cadence.com>
> > > > Date: Thu, Nov 14, 2019 at 06:10:12
> > > >
> > > > > Hi Vitor,
> > > > >
> > > > > The 11/12/2019 08:41, Boris Brezillon wrote:
> > > > > >
> > > > > > Hi Vitor,
> > > > > >
> > > > > > On Mon, 11 Nov 2019 12:30:45 +0000
> > > > > > Vitor Soares <Vitor.Soares@synopsys.com> wrote:
> > > > > >
> > > > > > > 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.
> > > > > >
> > > > > > Okay. Would you mind sharing a branch with this material so Przemek and
> > > > > > I can have a look at it?
> > > > >
> > > > > So, Vitor, can you share your changes? Can you tell me what you had to
> > > > > change to make it work? Also, which patch version is this based on?
> > > >
> > > > I'm closing a task and after that I will prepare the RFC.
> > >
> > > Okay, can we have an estimate? Are we talking about days or weeks?
> >
> > I will prioritize it for next week.
> >
>
> What is the status of that?

I found an issue in secondary master init flow on my side.

>
> > >
> > > >
> > > > I based in all version and tried to pass everything to master.c file.
> > >
> > > I'm not sure what that means, but okay.
> > >
> > > > Right now my challenge it to trigger mastership request when a device
> > > > driver want to access to the bus but I believe we can discuss that after.
> > >
> > > That's kind of a basic feature when talking about mastership handover,
> > > but sure, we can discuss it after your RFC has been posted.
> >
> > I need to test if the time that device.c request the mastership and the
> > controller has effectively the ownership of the bus is short enough to
> > call i3c_dev_do_priv_xfers_locked(dev->desc, xfers, nxfers) before of all
> > housekeeping of bus takeover.
> >
> > >
> > > Note that I'm not super happy to have to go back to square 1 and throw
> > > away all of the work done by Przemek, especially since Przemek was the
> > > first one to post a patchset and he never really said he didn't
> > > want or didn't have time to continue working on this task (not even
> > > mentioning the time I spent reviewing those patches...).
> > >
> > > If Przemek is fine with this situation I'm okay making an exception,
> > > but be aware that it's not how we usually do: the person that posts a
> > > patchset first leads the thing (of course, it's even better if there's
> > > some kind of coordination before the patch is posted).
> >
> > Honestly it looks like I'm competing on this which is not the case.
> > I just pointed out my concerns about this adoption because I see several
> > issues on it. The point is, at the end you can pick some parts of my sec
> > master code and integrate in your solution.
> >
>
> Can you point me to the version of the patch your changes are based on?
> And also, can you tell me what issues you faced? I would like to check
> if they are already adressed in my code.

I used v3 and v4. From v5, I found useful the switch case (request,
deliver, handoff, takeover) in hc side.

I didn't hardly test how device.c request mastership but I suspect it
won't work properly. When you do i3c_dev_do_priv_xfers_locked() you might
not be the master yet.

>
> > As I said previous for I3C spec 1.1 secondary master received a big
> > improvement due the misunderstanding published in 1.0 spec. I don't know
> > any other protocol that implement such kind of feature and for this is
> > from far the most complex feature to implement in SO based systems from
> > i3c spec.
> >
> > >
> > > BTW, you mentioned working on a lot of different topics, but most of
> > > them were left unfinished (userspace i3cdev interface, I3C slave
> > > framework/API, ...).
> >
> > The i3cdev does what we discuss during the proposal of i3c subsystem and
> > only expose i3c device without device driver yet I'm not happy with
> > transfer struct.
> > For the tools I have for hdr and sdr transfers, for now I didn't feel the
> > need of a tool for ccc (but for testing purposes it would help a lot).
> >
> > > Any plans to post RFCs on those aspects anytime
> > > soon? I mean, there's plenty of topics to work on, and I'd really prefer
> > > that each developer work on a different topic instead of duplicating the
> > > effort...
> > >
> > > Regards,
> > >
> > > Boris
> >
> > Best regards,
> > Vitor Soares
> >
> >
>
> --
> --
> Regards,
> Przemyslaw Gaj

Again sorry for the delay. I will try to send this soon.

Best regards,
Vitor Soares