Re: Eric Anholt offically announces support of VC4 without access to expander on the RPI 3

From: Michael Zoran
Date: Tue Mar 21 2017 - 15:11:48 EST


On Tue, 2017-03-21 at 10:34 -0700, Eric Anholt wrote:
> Michael Zoran <mzoran@xxxxxxxxxxxx> writes:
>
> > On Mon, 2017-03-20 at 10:22 -0700, Eric Anholt wrote:
> > > Michael Zoran <mzoran@xxxxxxxxxxxx> writes:
> > >
> > > > > > Since the API is completely documented, I see no reason we
> > > > > > or
> > > > > > anybody
> > > > > > couldn't essentially rewrite the driver while it's in
> > > > > > staging.ÂÂI
> > > > > > just
> > > > > > think it would be best for everyone if the new version was
> > > > > > a
> > > > > > drop
> > > > > > in
> > > > > > replacement for the original version.ÂÂEssential an
> > > > > > enhancement
> > > > > > rather
> > > > > > then a competitor.
> > > > >
> > > > > I think my comments weren't fundamental changes, but you
> > > > > surely
> > > > > mean
> > > > > the devicetree ABI? I like to see this driver ASAP out of
> > > > > staging
> > > > > and
> > > > > i'm not interested to maintain 2 functional identical driver
> > > > > only
> > > > > to
> > > > > keep compability with the Foundation tree. Currently i'm
> > > > > afraid
> > > > > that
> > > > > we build up many drivers in staging, which need a complete
> > > > > rewrite
> > > > > later if they should come out of staging. It would be nice if
> > > > > we
> > > > > could avoid the situation we have with the thermal driver.
> > > > >
> > > > > Stefan
> > > >
> > > > The API I'm talking about here is the mailbox API that is used
> > > > to
> > > > talk
> > > > to the firmware.ÂÂThe numbers and structures to pass are
> > > > documented.Â
> > > > Nothing prevents anybody from rewriting this driver and
> > > > submitting
> > > > it
> > > > to the appropriate subsystems.ÂÂIt's certainly small enough.
> > > >
> > > > If you really want working thermal or cpu speed drivers today,
> > > > nothing
> > > > stops anybody from submitting the downstream drivers after
> > > > doing
> > > > some
> > > > minor touchups and submitting them to staging.ÂÂThat would at
> > > > least
> > > > get
> > > > things working while people argue about what the correct DT
> > > > nodes
> > > > should be.
> > > >
> > > > I would also like to point out that the RPI 3 has been out for
> > > > over
> > > > a
> > > > year and nobody has been able to get working video out of it
> > > > through
> > > > VC4 on a mainline tree.ÂÂAt least until now.ÂÂSo I'm not sure
> > > > the
> > > > best
> > > > way to go is for the expander driver to go under the GPIO
> > > > subtree.
> > >
> > > Excuse me?ÂÂDisplay works fine on my Pi3.ÂÂVC4 uses DDC to probe
> > > for
> > > connection when the GPIO line isn't present in the DT.
> >
> > Just a FYI, Eric Anholt has offically announced support for VC4 for
> > HDMI on mainline Linus build without any support from the expander
> > on
> > the RPI 3.ÂÂ
> >
> > Sounds like this particular driver isn't needed then, correct?
>
> That's the HDMI audio that just landed.ÂÂHDMI has been working on the
> pi3 since 9d44abbbb8d530e8cc97d71ffcbc0ff3b5553c62.
>
> In the absence of a GPIO line for hotplug detect, we use DDC, which
> is
> slower and throws an error in dmesg when the probe happens but HDMI
> is
> disconnected.ÂÂAs such, having a GPIO driver would improve things for
> people.


Would a non DT based solution be outside the realm of possibilities? I
wrote a very simple library that emulates vcgencmd from the kernel.
One of the commands for vcgencmd is to query the HDMI hotplug status.
It's sort of semi documentated on the web. The vcgencmd library works,
but I haven't tested if the virtualized hotplug info from the command
output is correct in all cases.

What I'm thinking is I could package this in a single file library that
would get put in upstream, but it would only support 1 command only. To
query the virtual hotplug status.

The only thing is you would need to take a dependency from VC4 to
vchiq/vc04_services. It would get VC4 working better on upstream, but
it would mean taking a dependency from VC4 to vc04_services and the
stagging tree(with all that imples).

I think this may be a better solution then arguing with the DT folks on
this expander driver that isn't being directly controlled.

What do you think?