Home | History | Annotate | Download | only in rockchip
History log of /src/sys/arch/arm/rockchip/rk_drm.c
RevisionDateAuthorComments
 1.22  13-Oct-2025  thorpej Use device_{get,set}prop_bool().
 1.21  30-Oct-2022  jmcneill Remove dirty fb IOCTL callback introduced in latest drm update.

Not sure how this got here, but the rkdrm driver does not need to do
damage tracking as it uses Normal-NC (uncached) mappings.

PR# port-arm/56596
 1.20  25-Sep-2022  riastradh rkdrm: Set is_console on the drm device, not the fb child.

The drm device is represented by a rockchip,display-subsystem node in
the device tree. The fb child is a purely software abstraction used
by drm.

The is_console property is used by MD firmware logic to mark which
actual device in hardware bus enumeration like PCI or FDT the system
has chosen for the console early at boot, so hanging it on the node
for the real hardware device makes more sense than hanging it on the
software abstraction, and is consistent with recent changes to drmfb
to respect its setting on other platforms for hardware devices.
 1.19  21-Apr-2022  andvar s/subesquent/subsequent/ in copy pasted comments.
 1.18  20-Dec-2021  riastradh rkdrm: Implement vblank.
 1.17  19-Dec-2021  riastradh rkdrm: Comment why we config_defer rk_drm_init.
 1.16  19-Dec-2021  riastradh rkdrm: Convert to atomic modesetting, as needed for bridges.


Author: Jared McNeill <jmcneill@invisible.ca>
Committer: Taylor R Campbell <riastradh@NetBSD.org>
 1.15  19-Dec-2021  riastradh rkdrm: Do drm_mode_config_reset on init.
 1.14  19-Dec-2021  riastradh sunxi/drm, rockchip/drm: Avoid messy error output.
 1.13  19-Dec-2021  riastradh rockchip/drm: use drm_helper_mode_fill_fb_struct or say why not.


Author: phone <mrg@NetBSD.org>
Committer: Taylor R Campbell <riastradh@NetBSD.org>
 1.12  19-Dec-2021  riastradh rockchip/drm: use an explicit task queue to avoid config_defer pitfalls.


Author: phone <mrg@NetBSD.org>
Committer: Taylor R Campbell <riastradh@NetBSD.org>
 1.11  19-Dec-2021  riastradh catch up with newer drm_encoder_init prototype


Author: Maya Rashish <maya@NetBSD.org>
Committer: Taylor R Campbell <riastradh@NetBSD.org>
 1.10  19-Dec-2021  riastradh drm_dev_alloc now returns ERR_PTR, check for that.


Author: Maya Rashish <maya@NetBSD.org>
Committer: Taylor R Campbell <riastradh@NetBSD.org>
 1.9  19-Dec-2021  riastradh Sort includes.
 1.8  19-Dec-2021  riastradh Get drm to build on arm64 again.


Author: Jared McNeill <jmcneill@NetBSD.org>
Committer: Taylor R Campbell <riastradh@NetBSD.org>
 1.7  07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.6  28-Apr-2021  mrg branches: 1.6.6;
for big endian kernels use DRM_FORMAT_BGRX8888 pixel format.

now my pinebook pro console looks right with evbarm64-eb, instead
of having red and green swapped, and no blue. fixes both console
"text" mode and X11.
 1.5  24-Apr-2021  thorpej branches: 1.5.2;
Merge thorpej-cfargs branch:

Simplify and make extensible the config_search() / config_found() /
config_attach() interfaces: rather than having different variants for
which arguments you want pass along, just have a single call that
takes a variadic list of tag-value arguments.

Adjust all call sites:
- Simplify wherever possible; don't pass along arguments that aren't
actually needed.
- Don't be explicit about what interface attribute is attaching if
the device only has one. (More simplification.)
- Add a config_probe() function to be used in indirect configuiration
situations, making is visibly easier to see when indirect config is
in play, and allowing for future change in semantics. (As of now,
this is just a wrapper around config_match(), but that is an
implementation detail.)

Remove unnecessary or redundant interface attributes where they're not
needed.

There are currently 5 "cfargs" defined:
- CFARG_SUBMATCH (submatch function for direct config)
- CFARG_SEARCH (search function for indirect config)
- CFARG_IATTR (interface attribte)
- CFARG_LOCATORS (locators array)
- CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)

...and a sentinel value CFARG_EOL.

Add some extra sanity checking to ensure that interface attributes
aren't ambiguous.

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).
 1.4  27-Jan-2021  thorpej branches: 1.4.2;
Rename of_match_compat_data() to of_compatible_match(). Similarly,
rename of_search_compatible() to of_compatible_lookup().

Standardize on of_compatible_match() for driver matching, and adapt
all call sites.
 1.3  15-Dec-2019  mrg branches: 1.3.8; 1.3.10;
ensure to call drm_mode_config_cleanup() when erroring.
tripped up 'active lock in free' checks, and perhaps
lead to other lock corruption. (crash with un-init lock
in arpresolve that does not make sense now seems to not
occur either.)
 1.2  14-Nov-2019  jmcneill branches: 1.2.2;
Remove debug output
 1.1  09-Nov-2019  jmcneill WIP display driver for Rockchip RK3399
 1.2.2.3  17-Dec-2019  martin Pull up following revision(s) (requested by mrg in ticket #557):

sys/arch/arm/rockchip/rk_drm.c: revision 1.3
sys/arch/arm/ti/ti_lcdc.c: revision 1.4
sys/arch/arm/sunxi/sunxi_drm.c: revision 1.10

ensure to call drm_mode_config_cleanup() when erroring.

tripped up 'active lock in free' checks, and perhaps
lead to other lock corruption. (crash with un-init lock
in arpresolve that does not make sense now seems to not
occur either.)
 1.2.2.2  16-Nov-2019  martin Pull up following revision(s) (requested by jmcneill in ticket #427):

sys/dev/ic/dw_hdmi_phy.c: revision 1.2
sys/dev/ic/dw_hdmi.c: revision 1.4
sys/dev/fdt/ausoc.c: revision 1.5
sys/dev/ic/dw_hdmi.h: revision 1.2
sys/dev/ic/dw_hdmi.h: revision 1.3
sys/dev/ic/dw_hdmi.h: revision 1.4
sys/conf/files: revision 1.1242
sys/dev/fdt/fdtvar.h: revision 1.57
sys/arch/arm/rockchip/rk3399_cru.c: revision 1.11
sys/arch/arm/rockchip/rk3399_cru.c: revision 1.12
sys/arch/arm/rockchip/rk3399_cru.c: revision 1.13
sys/arch/evbarm/conf/GENERIC64: revision 1.110
sys/arch/arm/rockchip/rk_drm.c: revision 1.1
sys/arch/arm/rockchip/rk_drm.c: revision 1.2
sys/arch/evbarm/conf/GENERIC64: revision 1.112
sys/arch/arm/rockchip/rk_dwhdmi.c: revision 1.1
sys/dev/fdt/fdt_clock.c: revision 1.10
sys/arch/evbarm/conf/GENERIC64: revision 1.113
sys/arch/arm/rockchip/rk_dwhdmi.c: revision 1.2
sys/arch/arm/rockchip/rk_drm.h: revision 1.1
sys/arch/arm/rockchip/rk_dwhdmi.c: revision 1.3
sys/arch/arm/rockchip/rk_fb.c: revision 1.1
sys/arch/arm/dts/rk3399-rockpro64.dts: revision 1.9
sys/arch/arm/rockchip/rk_vop.c: revision 1.1
sys/arch/arm/rockchip/rk_vop.c: revision 1.2
sys/arch/arm/rockchip/rk_i2c.c: revision 1.6
sys/arch/arm/rockchip/rk_cru.h: revision 1.6
sys/arch/arm/rockchip/rk_cru.h: revision 1.7
sys/arch/arm/rockchip/rk_cru_composite.c: revision 1.4
sys/arch/arm/rockchip/rk_cru_composite.c: revision 1.5
sys/arch/arm/rockchip/files.rockchip: revision 1.21
sys/arch/arm/rockchip/rk_i2s.c: revision 1.1
sys/arch/arm/rockchip/files.rockchip: revision 1.22
sys/dev/ic/dw_hdmi.c: revision 1.2
sys/dev/ic/dw_hdmi_phy.c: revision 1.1
sys/dev/ic/dw_hdmi.c: revision 1.3

Support reads of more than 32 bytes in a single xfer.

Add support for internal DesignWare HDMI PHYs

Add fdtbus_clock_enable and fdtbus_clock_enable_index shortcuts

Add HDMI and VOP clocks

WIP display driver for Rockchip RK3399

Add (commented out) Rockchip display support

Select the correct MPLL and PHY settings for the requested pixel clock
Force DCLK_VOP0/1 dividers to 1 and select closest match when setting PLL
rates.

Fix typo in phy config table

Fix a few swapped fields

Remove debug output

Enable Rockchip display support

Set sysclk rate at set_format time, so the link set_format callback can read the new sysclk

Add I2S audio input support.
Add software volume controls.
Add support for I2S clocks.
Add driver for Rockchip I2S/PCM controller.
Enable HDMI audio on ROCKPro64
Add rki2s
Add audio support
 1.2.2.1  14-Nov-2019  martin file rk_drm.c was added on branch netbsd-9 on 2019-11-16 16:48:25 +0000
 1.3.10.1  03-Apr-2021  thorpej Sync with HEAD.
 1.3.8.2  13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.3.8.1  15-Dec-2019  martin file rk_drm.c was added on branch phil-wifi on 2020-04-13 08:03:37 +0000
 1.4.2.1  02-Apr-2021  thorpej config_found_ia() -> config_found() w/ CFARG_IATTR.
 1.5.2.1  13-May-2021  thorpej Sync with HEAD.
 1.6.6.1  04-Aug-2021  thorpej Adapt to CFARGS().

RSS XML Feed