History log of /rk3399_rockchip-uboot/drivers/video/video-uclass.c (Results 1 – 16 of 16)
Revision Date Author Comments
# 1d60f76b 04-Mar-2025 Xuhui Lin <xuhui.lin@rock-chips.com>

drivers: video: Fix CMA Memory Mapping Stalling in Kernel Init

Fail log in Kernel Init:
Starting kernel ...

[ 0.866142] Booting Linux on physical CPU 0xf00
[ 0.866162] Linux version 6.1.99 (z

drivers: video: Fix CMA Memory Mapping Stalling in Kernel Init

Fail log in Kernel Init:
Starting kernel ...

[ 0.866142] Booting Linux on physical CPU 0xf00
[ 0.866162] Linux version 6.1.99 (zjh@ubuntu-191) (arm-none-linux-gnueabihf-gcc (GNU Toolchain for the A-profile Architecture 10.3-2021.07 (arm-10.29)) 10.3.1 20210621, GNU ld (GNU Toolchain for the A-profile Architecture 10.3-2021.07 (arm-10.29)) 2.36.1.20210621) #76 SMP PREEMPT Fri Feb 21 17:52:06 CST 2025
[ 0.866173] CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=50c5387d
[ 0.866183] CPU: div instructions available: patching division code
[ 0.866188] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[ 0.866500] OF: fdt: Machine model: Rockchip RK3506G(QFN128) EVB1 V10 Board
[ 0.868656] earlycon: uart8250 at MMIO32 0xff0a0000 (options '')
[ 0.874664] printk: bootconsole [uart8250] enabled
[ 0.875183] Memory policy: Data cache writealloc
[ 0.875888] Reserved memory: created CMA memory pool at 0x05100000, size 32 MiB
[ 0.876563] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool
[ 0.877380] Reserved memory: created DMA memory pool at 0x03d00000, size 1 MiB
[ 0.878045] OF: reserved mem: initialized node rpmsg-dma@3d00000, compatible id shared-dma-pool

Why have this problem?
1. The ARMv7 kernel encountered a deadlock during initialization when creating CMA mappings.
U-Boot reserved DRM logo region starting at 0x7100000, leaving insufficient space above
0x7100000 for a 22MB CMA allocation. So CMA will attempt to allocate downward from
0x5d00000 to 0x7100000.
2. Since PGTABLE_LEVELS=2 by default, kernel will create mapping every 2M, and will adjust
the second region start address to 2M alignment, apparently the first region in this case
is 0x5d00000-0x5e00000.
3. However, kernel can't adjust the last region less than 2M, and it will only wait for the
start and the end to be equal. So the CMA Memory Mapping Stalling happened.

Change-Id: Ib196df8c8ce1f1a19cd6943d2e6cb1c9910752ba
Signed-off-by: Xuhui Lin <xuhui.lin@rock-chips.com>

show more ...


# 6414e3bc 30-Apr-2021 Sandy Huang <hjc@rock-chips.com>

video/drm: vop2: add suppor cubic lut

Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: I5a02c737ba175f4ae65be22d81a0dfa7dd3f85d7


# 0f3732fa 08-Mar-2018 Joseph Chen <chenjh@rock-chips.com>

dm: video: add reserve size debug info for rockchip video

Change-Id: I0d2693ea871ea41c84143e0f4e4c52c65b308dd7
Signed-off-by: Joseph Chen <chenjh@rock-chips.com>


# 2f37ae52 06-Feb-2018 Kever Yang <kever.yang@rock-chips.com>

rockchip: video: fix compile warning

Change-Id: I05dbb0cdc33f71f66feedad2033d702177b31ede
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>


# 3016d3d4 31-Jan-2018 Kever Yang <kever.yang@rock-chips.com>

rockchip: video: reserve memory for fb without bind video driver

The video DM need to bind video driver before relocate in order to
get the size need by video driver, which is fixed in rockchip plat

rockchip: video: reserve memory for fb without bind video driver

The video DM need to bind video driver before relocate in order to
get the size need by video driver, which is fixed in rockchip platform,
we can get it without bind the driver.

With this patch, we don't need to enable the video/display nodes
in pre-reloc, and we can get all these nodes from kernel dtb.

Change-Id: I02d86b69e8c10bbf47e6b421c41b6dae20667a33
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>

show more ...


# 2d221489 29-Nov-2016 Stefano Babic <sbabic@denx.de>

Merge branch 'master' of git://git.denx.de/u-boot

Signed-off-by: Stefano Babic <sbabic@denx.de>


# 8d089854 26-Nov-2016 Tom Rini <trini@konsulko.com>

Merge git://git.denx.de/u-boot-rockchip


# 7981394e 13-Nov-2016 Simon Glass <sjg@chromium.org>

video: Use cache-alignment in video_sync()

Sometimes the frame buffer is not a multiple of the cache line size.
Adjust the cache-flushing code to avoid cache warnings/errors in this
case.

Signed-of

video: Use cache-alignment in video_sync()

Sometimes the frame buffer is not a multiple of the cache line size.
Adjust the cache-flushing code to avoid cache warnings/errors in this
case.

Signed-off-by: Simon Glass <sjg@chromium.org>

show more ...


# 5ebd27d8 12-Oct-2016 Tom Rini <trini@konsulko.com>

Merge branch 'master' of git://git.denx.de/u-boot-x86


# 3968398e 09-Oct-2016 Bin Meng <bmeng.cn@gmail.com>

dm: video: Don't do anything in alloc_fb() when plat->size is zero

With DM VESA driver on x86 boards, plat->base/size/align are all
zeroes and starting address passed to alloc_fb() happens to be 1MB

dm: video: Don't do anything in alloc_fb() when plat->size is zero

With DM VESA driver on x86 boards, plat->base/size/align are all
zeroes and starting address passed to alloc_fb() happens to be 1MB
aligned, so this routine does not trigger any issue. On QEMU with
U-Boot as coreboot payload, the starting address is within 1MB
range (eg: 0x7fb0000), thus causes failure in video_post_bind().

Actually if plat->size is zero, it makes no sense to do anything
in this routine. Add such check there.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>

show more ...


# 826f35f9 15-Jan-2016 Simon Glass <sjg@chromium.org>

video: Allow selection of the driver and font size

Provide a way for the video console driver to be selected. This is
controlled by the video driver's private data. This can be set up when the
drive

video: Allow selection of the driver and font size

Provide a way for the video console driver to be selected. This is
controlled by the video driver's private data. This can be set up when the
driver is probed so that it is ready for the video_post_probe() method.

The font size is provided as well. The console driver may or may not support
this depending on its capability.

Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Anatolij Gustschin <agust@denx.de>

show more ...


# a29b0120 15-Jan-2016 Simon Glass <sjg@chromium.org>

video: Add a console driver that uses TrueType fonts

The existing 8x16 font is adequate for most purposes. It is small and fast.
However for boot screens where information must be presented to the u

video: Add a console driver that uses TrueType fonts

The existing 8x16 font is adequate for most purposes. It is small and fast.
However for boot screens where information must be presented to the user,
the console font is not ideal. Common requirements are larger and
better-looking fonts.

This console driver can use TrueType fonts built into U-Boot, and render
them at any size. This can be used in scripts to place text as needed on
the display.

This driver is not really designed to operate with the command line. Much
of U-Boot expects a fixed-width font. But to keep things working correctly,
rudimentary support for the console is provided. The main missing feature is
support for command-line editing.

Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Anatolij Gustschin <agust@denx.de>

show more ...


# 68dcdc99 22-Jan-2016 Simon Glass <sjg@chromium.org>

video: Add a function to control cache flushing

Allow the cache-flushing function of a video device to be controlled.

Signed-off-by: Simon Glass <sjg@chromium.org>


# 6905f4d3 21-Jan-2016 Tom Rini <trini@konsulko.com>

Merge git://git.denx.de/u-boot-dm


# 83510766 19-Jan-2016 Simon Glass <sjg@chromium.org>

dm: video: Add a uclass for the text console

The existing LCD/video interface suffers from conflating the bitmap display
with text output on that display. As a result the implementation is more
comp

dm: video: Add a uclass for the text console

The existing LCD/video interface suffers from conflating the bitmap display
with text output on that display. As a result the implementation is more
complex than it needs to me.

We can support multiple text console drivers. Create a separate uclass to
support this, with its own API.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Anatolij Gustschin <agust@denx.de>

show more ...


# 1acafc73 19-Jan-2016 Simon Glass <sjg@chromium.org>

dm: video: Add a video uclass

U-Boot has separate code for LCDs and 'video' devices. Both now use a
very similar API thanks to earlier work by Nikita Kiryanov. With the driver-
model conversion we s

dm: video: Add a video uclass

U-Boot has separate code for LCDs and 'video' devices. Both now use a
very similar API thanks to earlier work by Nikita Kiryanov. With the driver-
model conversion we should unify these into a single uclass.

Unfortunately there are different features supported by each. This
implementation provides for a common set of features which should serve
most purposes. The intent is to support:

- bitmap devices with 8, 16 and 32 bits per pixel
- text console wih white on black or vice versa
- rotated text console
- bitmap display (BMP format)

More can be added as additional boards are ported over to use driver model
for video.

The name 'video' is chosen for the uclass since it is more generic than LCD.
Another option would be 'display' but that would introduce a third concept
to U-Boot which seems like the wrong approach.

The existing LCD and video init functions are not needed now, so this uclass
makes no attempt to implement them.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Anatolij Gustschin <agust@denx.de>

show more ...