On 11.07.2019 16:50, Mark Brown wrote: > On Thu, Jul 11, 2019 at 03:11:56PM +0200, Andrzej Hajda wrote: > >> 1. DSI protocol defines actually more than 30 types of transactions[1], >> but this patchset implements only few of them (dsi generic write/read >> family). Is it possible to implement multiple types of transactions in >> regmap? > You can, there's a couple of different ways depending on how > exactly things are done. > >> 3. DSI devices are no MFDs so regmap abstraction has no big value added >> (correct me, if there are other significant benefits). > There's a few extra bits even if you're not using the marshalling > code to get things onto the bus - the main ones are the register > cache support (which people often use for simpler suspend/resume > support) and the debug and trace facilities (things like > tracepoints and debugfs for dumping the register map). I do not see cache usable in bridge drivers, I guess default config will be caching disabled, as it is already in the driver from this patchset. So beside marshaling, we are left only with debug facilities, not a big gain :) Moreover as it was already written DSI is mainly used to transport COMMANDS to the device, with variable number of arguments - it does not resembles registry map at all. On the other side there is some subset of DSI devices which exposes register memory using MIPI DSI Generic Write/Read packets, for example: ti-sn65dsi86, tc358764. They fit better to regmap framework. Hard to say how common is this pattern. Maybe we can try with it? If yes it would be good to put clear remark that regmap/dsi is for such devices, to avoid possible confusion. Regards Andrzej