RE: [PATCH v1 0/3] I3C mastership handover support

From: Parshuram Raju Thombare
Date: Wed Apr 08 2020 - 11:06:59 EST


Hi Boris,

>It's definitely not the first version (as implied in the subject), and
>I'd like a proper changelog detailing what has changed since the last
>version (the one sent by Przemek).

Sure, I will resend patches with updated version and change log.

But just to summarize, main changes are
1. Secondary master deferring initialization i.e. registering devices
representing other device as well as master itself, until bus
ownership is achieved.
2. Moved bus request from slave and bus handover from current
Master to separate state machines. This is to assist any further
changes in mastership request/handover procedures. e.g. MIPI
v1.1 specify additional features likes bus yield at the will of current
master to sec master selected by current master, group address
functionality, multi lane support etc which requires additional
steps in handover procedure. This structure will help to extend
the functionality further.
3. We don't really need secondary master to be aware other devices
on the bus through mechanism like device tree, since main master
broadcast this information through DEFSLVS. And receiving this
information does not require sec. master driver to be loaded, at
least in case of CDNS I3C controller .DEFSLVS information is stored
by HW inside a table which is later accessed by controller driver,
to be passed to I3C master subsystem. Sec master initialization
state machine make sure it has active dynamic address (this may
seems repetitive, but it is to handle case of RSTDAA CCC), and
DEFSLVS is received at least once. And IMO we don't really need
to process DEFSLVS for a sec master until it want to become current
master.
4. Another important change is setting main master and sec master
In pure bus mode during enumeration (DAA), this is to avoid need
of sec. master having device information through device tree, and at
the same time allowing enumeration to happened successfully.
Both main master and sec master change bus mode once enumeration
is done.

Regards,
Parshuram Thombare