Hi Laurent, On 12/3/2015 9:41 PM, Archit Taneja wrote: > > > On 12/3/2015 9:25 PM, Rob Clark wrote: >> On Thu, Dec 3, 2015 at 10:28 AM, Laurent Pinchart >> <laurent.pinchart at ideasonboard.com> wrote: >>> On Thursday 03 December 2015 10:02:02 Rob Clark wrote: >>>> On Mon, Jul 27, 2015 at 4:59 AM, Laurent Pinchart wrote: >>>>> On Monday 27 July 2015 11:46:57 Archit Taneja wrote: >>>>>> ADV7511 is represented as an i2c drm slave encoder device. >>>>>> ADV7533, on >>>>>> the other hand, is going be a normal i2c client device creating >>>>>> bridge >>>>>> and connector entities. <snip>
> > Laurent, as we'd discussed in the past, I did an initial study of how > we could map bridge ops to the encoder slave ops, and change it for the > rcar kms driver (and others) that might use adv7511. > > The drm_encoder_slave_funcs ops are a superset of bridge ops. The > rcar-du driver uses a subset of these ops (encoder-like ops) to > implement the hdmi encoder (rcar_du_hdmienc.c) and the other > (connector-like ops)for implementing the hdmi connector > (rcar_du_hdmicon.c) > > We have two options: > > 1. If we want to use drm_bridge as it is, the rcar driver shouldn't > create a hdmi connector anymore, and rely on the adv7511 driver to make > a connector for it. This is the easiest way, but it will break the nice > representation of the hardware in DT. > > 2. We add more drm_bridge ops (the ones that implement the connector > ops), and make the hdmi connector created by rcar-du use these bridge > ops. > > Both these options have issues. The 2) one is the probably the better of > the two, but I don't know if adding more ops to the bridge is the right > way to go. > > Therefore, I don't know how we can solve this straight away. If there is > more debate needed on this, then it is probably easier to get adv7533 > support in, and then figure out how two merge the two. > I gave approach (1) a try. I modified the rcar-du driver to use bridge instead of i2c slave encoder and posted a RFC [1]. The hdmi connector DT nodes (like in r8a7790-lager.dts) aren't really used by the rcar-du driver. Now, with the adv7511 driver creating its own connector, they mean even much less. The adv7511 refactor from i2c slave encoder to bridge is done in [2]. [1] http://marc.info/?l=dri-devel&m=145235835902378&w=1 [2] http://marc.info/?l=dri-devel&m=145235823602353&w=1 Could you please review and test? Thanks, Archit > >> >> BR, >> -R >> >>> -- >>> Regards, >>> >>> Laurent Pinchart >>> > -- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project