All of lore.kernel.org
 help / color / mirror / Atom feed
* [BUG] DM_VIDEO broken on imx6q
@ 2020-08-01 19:14 Soeren Moch
  2020-08-03 13:54 ` Anatolij Gustschin
  0 siblings, 1 reply; 3+ messages in thread
From: Soeren Moch @ 2020-08-01 19:14 UTC (permalink / raw)
  To: u-boot

Hi,

unfortunately the patch [1] is only the first part to get DM_VIDEO
running properly on tbs2910 for u-boot-2020.10. With this, I get a valid
video output signal, but no actual video console output, only a blank
screen.

After some debugging, no with access to a HDMI monitor, the problem
seems to be:
imx6q has two ipu units, so DM_VIDEO creates 2 video devices. For these
two devices also memory for two framebuffers is reserved in
video-uclass, starting from gd->video_top downwards. Then vidconsole
correctly uses the first video device (ipu1), but apparently the
framebuffer from ipu2 at gd->video_bottom. So I see the empty
framebuffer from ipu1 while the console output goes to the framebuffer
memory of ipu2.

I guess there is the same problem on all imx6q devices with 2 ipu units,
while on imx6s/6dl devices with a single ipu everything works fine.
Disabling the second ipu in the tbs2910 devicetree also helps, but I
think this is not a proper solution.

What should be done about this? Only probing the first ipu/video device?
Assigning the framebuffer memory bottom-up? Using the assigned
framebuffer memory of the active video device for console output (seems
to be the correct solution, but maybe not so easy to implement)?
Something else?

Thanks,
Soeren

[1]
https://patchwork.ozlabs.org/project/uboot/patch/20200730121157.5305-1-smoch at web.de/

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [BUG] DM_VIDEO broken on imx6q
  2020-08-01 19:14 [BUG] DM_VIDEO broken on imx6q Soeren Moch
@ 2020-08-03 13:54 ` Anatolij Gustschin
  2020-08-03 15:13   ` Soeren Moch
  0 siblings, 1 reply; 3+ messages in thread
From: Anatolij Gustschin @ 2020-08-03 13:54 UTC (permalink / raw)
  To: u-boot

Hi,

On Sat, 1 Aug 2020 21:14:10 +0200
Soeren Moch smoch at web.de wrote:

> Hi,
> 
> unfortunately the patch [1] is only the first part to get DM_VIDEO
> running properly on tbs2910 for u-boot-2020.10. With this, I get a valid
> video output signal, but no actual video console output, only a blank
> screen.
> 
> After some debugging, no with access to a HDMI monitor, the problem
> seems to be:
> imx6q has two ipu units, so DM_VIDEO creates 2 video devices. For these
> two devices also memory for two framebuffers is reserved in
> video-uclass, starting from gd->video_top downwards. Then vidconsole
> correctly uses the first video device (ipu1), but apparently the
> framebuffer from ipu2 at gd->video_bottom. So I see the empty
> framebuffer from ipu1 while the console output goes to the framebuffer
> memory of ipu2.

Thanks for debugging and reporting!

> I guess there is the same problem on all imx6q devices with 2 ipu units,
> while on imx6s/6dl devices with a single ipu everything works fine.
> Disabling the second ipu in the tbs2910 devicetree also helps, but I
> think this is not a proper solution.
> 
> What should be done about this? Only probing the first ipu/video device?

Since the second framebuffer is not in use currently, the probing for
second ipu device is not done.

> Assigning the framebuffer memory bottom-up? Using the assigned
> framebuffer memory of the active video device for console output (seems
> to be the correct solution, but maybe not so easy to implement)?

Yes, the later is the correct solution. I've sent a patch.

--
Anatolij

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [BUG] DM_VIDEO broken on imx6q
  2020-08-03 13:54 ` Anatolij Gustschin
@ 2020-08-03 15:13   ` Soeren Moch
  0 siblings, 0 replies; 3+ messages in thread
From: Soeren Moch @ 2020-08-03 15:13 UTC (permalink / raw)
  To: u-boot

HiAnatolij,

On 03.08.20 15:54, Anatolij Gustschin wrote:
> Hi,
>
> On Sat, 1 Aug 2020 21:14:10 +0200
> Soeren Moch smoch at web.de wrote:
>
>> Hi,
>>
>> unfortunately the patch [1] is only the first part to get DM_VIDEO
>> running properly on tbs2910 for u-boot-2020.10. With this, I get a valid
>> video output signal, but no actual video console output, only a blank
>> screen.
>>
>> After some debugging, no with access to a HDMI monitor, the problem
>> seems to be:
>> imx6q has two ipu units, so DM_VIDEO creates 2 video devices. For these
>> two devices also memory for two framebuffers is reserved in
>> video-uclass, starting from gd->video_top downwards. Then vidconsole
>> correctly uses the first video device (ipu1), but apparently the
>> framebuffer from ipu2 at gd->video_bottom. So I see the empty
>> framebuffer from ipu1 while the console output goes to the framebuffer
>> memory of ipu2.
> Thanks for debugging and reporting!
>
>> I guess there is the same problem on all imx6q devices with 2 ipu units,
>> while on imx6s/6dl devices with a single ipu everything works fine.
>> Disabling the second ipu in the tbs2910 devicetree also helps, but I
>> think this is not a proper solution.
>>
>> What should be done about this? Only probing the first ipu/video device?
> Since the second framebuffer is not in use currently, the probing for
> second ipu device is not done.
>
>> Assigning the framebuffer memory bottom-up? Using the assigned
>> framebuffer memory of the active video device for console output (seems
>> to be the correct solution, but maybe not so easy to implement)?
> Yes, the later is the correct solution. I've sent a patch.
Thank you very much.
Patch looks good, and really not too complicated. I will try to test
this later today.

Thanks again,
Soeren
>
> --
> Anatolij

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-08-03 15:13 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-01 19:14 [BUG] DM_VIDEO broken on imx6q Soeren Moch
2020-08-03 13:54 ` Anatolij Gustschin
2020-08-03 15:13   ` Soeren Moch

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.