Re: I3C Mastership RFC

Boris Brezillon
2019-11-25T11:35:02Z

On Mon, 25 Nov 2019 11:19:44 +0000
Vitor Soares <Vitor.Soares@synopsys.com> wrote:

> > > > >
> > > > > 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.

I'm pretty sure we solved that already (that's what
i3c_master_acquire_bus_ownership() calls are supposed to take care of).
Can you be a bit more specific? What makes you think the master might
not be in control of the bus when i3c_dev_do_priv_xfers_locked() is
called?

>
> >
> > > 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.

Can you please share what you have now (even if it's not finished) so
Przemek can start looking at it?