- 31 12月, 2015 1 次提交
-
-
由 Stephen Rothwell 提交于
Fixes: a67719d1 ("drm/rockchip: vop: spilt register related into rockchip_reg_vop.c") Signed-off-by: NStephen Rothwell <sfr@canb.auug.org.au> Acked-by: NMark Yao <mark.yao@rock-chips.com> Signed-off-by: NDave Airlie <airlied@redhat.com>
-
- 28 12月, 2015 9 次提交
-
-
由 Mark Yao 提交于
There are two version scale control register found on vop, scale full version found on rk3288, support extension registers. and scale little version found on rk3036, only support common scale. Signed-off-by: NMark Yao <mark.yao@rock-chips.com>
-
由 Mark Yao 提交于
No functional updates. Spilt register related into another file would be nice to multi vop driver, Signed-off-by: NMark Yao <mark.yao@rock-chips.com>
-
由 Mark Yao 提交于
Move interrupt registers into vop_data, so it can use at multi-vop driver Signed-off-by: NMark Yao <mark.yao@rock-chips.com>
-
由 Mark Yao 提交于
Move cfg_done register into vop_data, so it can use at multi-vop driver Signed-off-by: NMark Yao <mark.yao@rock-chips.com>
-
由 Mark Yao 提交于
Both connecter gate and out_mode are not conflict with mode set configure. Direct setting connecter gate and out_mode, that allow connector do rockchip_drm_crtc_mode_config after mode set. Signed-off-by: NMark Yao <mark.yao@rock-chips.com>
-
由 Mark Yao 提交于
Rk3288 vop timing registers is immediately register, when configure timing on display active time, will cause tearing. use dclk reset is not a good idea to avoid this tearing. we can avoid tearing by using standby register. Vop standby register will take effect at end of current frame, and go back to work immediately when exit standby. So we can use standby register to protect this context. Signed-off-by: NMark Yao <mark.yao@rock-chips.com>
-
由 Mark Yao 提交于
Rockchip vop not support hw vblank counter, needed check the committed register if it's really take effect. Signed-off-by: NMark Yao <mark.yao@rock-chips.com>
-
由 Mark Yao 提交于
For vop, power by enable/disable is more suitable then legacy dpms function, and enable/disable more closely to the new atomic API. Signed-off-by: NMark Yao <mark.yao@rock-chips.com>
-
由 Mark Yao 提交于
No functional update, drm_vblank_* is the legacy version of drm_crtc_vblank_*. and use new api make driver more clean. Signed-off-by: NMark Yao <mark.yao@rock-chips.com>
-
- 11 12月, 2015 2 次提交
-
-
由 Ville Syrjälä 提交于
Done with coccinelle for the most part. It choked on msm/mdp/mdp5/mdp5_plane.c like so: "BAD:!!!!! enum drm_plane_type type;" No idea how to deal with that, so I just fixed that up by hand. Also it thinks '...' is part of the semantic patch, so I put an 'int DOTDOTDOT' placeholder in its place and got rid of it with sed afterwards. I didn't convert drm_plane_init() since passing the varargs through would mean either cpp macros or va_list, and I figured we don't care about these legacy functions enough to warrant the extra pain. @@ typedef uint32_t; identifier dev, plane, possible_crtcs, funcs, formats, format_count, type; @@ int drm_universal_plane_init(struct drm_device *dev, struct drm_plane *plane, unsigned long possible_crtcs, const struct drm_plane_funcs *funcs, const uint32_t *formats, unsigned int format_count, enum drm_plane_type type + ,const char *name, int DOTDOTDOT ) { ... } @@ identifier dev, plane, possible_crtcs, funcs, formats, format_count, type; @@ int drm_universal_plane_init(struct drm_device *dev, struct drm_plane *plane, unsigned long possible_crtcs, const struct drm_plane_funcs *funcs, const uint32_t *formats, unsigned int format_count, enum drm_plane_type type + ,const char *name, int DOTDOTDOT ); @@ expression E1, E2, E3, E4, E5, E6, E7; @@ drm_universal_plane_init(E1, E2, E3, E4, E5, E6, E7 + ,NULL ) v2: Split crtc and plane changes apart Pass NUL for no-name instead of "" Leave drm_plane_init() alone v3: Add ', or NULL...' to @name kernel doc (Jani) Annotate the function with __printf() attribute (Jani) Signed-off-by: NVille Syrjälä <ville.syrjala@linux.intel.com> Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch> Link: http://patchwork.freedesktop.org/patch/msgid/1449670795-2853-1-git-send-email-ville.syrjala@linux.intel.com
-
由 Ville Syrjälä 提交于
Done with coccinelle for the most part. However, it thinks '...' is part of the semantic patch, so I put an 'int DOTDOTDOT' placeholder in its place and got rid of it with sed afterwards. I didn't convert drm_crtc_init() since passing the varargs through would mean either cpp macros or va_list, and I figured we don't care about these legacy functions enough to warrant the extra pain. @@ identifier dev, crtc, primary, cursor, funcs; @@ int drm_crtc_init_with_planes(struct drm_device *dev, struct drm_crtc *crtc, struct drm_plane *primary, struct drm_plane *cursor, const struct drm_crtc_funcs *funcs + ,const char *name, int DOTDOTDOT ) { ... } @@ identifier dev, crtc, primary, cursor, funcs; @@ int drm_crtc_init_with_planes(struct drm_device *dev, struct drm_crtc *crtc, struct drm_plane *primary, struct drm_plane *cursor, const struct drm_crtc_funcs *funcs + ,const char *name, int DOTDOTDOT ); @@ expression E1, E2, E3, E4, E5; @@ drm_crtc_init_with_planes(E1, E2, E3, E4, E5 + ,NULL ) v2: Split crtc and plane changes apart Pass NULL for no-name instead of "" Leave drm_crtc_init() alone v3: Add ', or NULL...' to @name kernel doc (Jani) Annotate the function with __printf() attribute (Jani) Signed-off-by: NVille Syrjälä <ville.syrjala@linux.intel.com> Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch> Link: http://patchwork.freedesktop.org/patch/msgid/1449670771-2751-1-git-send-email-ville.syrjala@linux.intel.com
-
- 02 12月, 2015 3 次提交
-
-
由 Daniel Stone 提交于
Passing -1 as the pipe for vblank events now triggers a WARN_ON, but had previously made multi-screen unusable anyway. Pass the correct pipe to the event-send function, and use the new API to make this a bit easier for us. Fixes WARN present since cc1ef118 for every pageflip event sent: [ 209.549969] ------------[ cut here ]------------ [ 209.554592] WARNING: CPU: 3 PID: 238 at drivers/gpu/drm/drm_irq.c:924 drm_vblank_count_and_time+0x80/0x88 [drm]() [ 209.564832] Modules linked in: [...] [ 209.612401] CPU: 3 PID: 238 Comm: irq/41-ff940000 Tainted: G W 4.3.0-rc6+ #71 [ 209.620647] Hardware name: Rockchip (Device Tree) [ 209.625348] [<c001bb80>] (unwind_backtrace) from [<c001615c>] (show_stack+0x20/0x24) [ 209.633079] [<c001615c>] (show_stack) from [<c02b2c50>] (dump_stack+0x8c/0x9c) [ 209.640289] [<c02b2c50>] (dump_stack) from [<c0052e88>] (warn_slowpath_common+0x94/0xc4) [ 209.648364] [<c0052e88>] (warn_slowpath_common) from [<c0052f74>] (warn_slowpath_null+0x2c/0x34) [ 209.657139] [<c0052f74>] (warn_slowpath_null) from [<bf17dc30>] (drm_vblank_count_and_time+0x80/0x88 [drm]) [ 209.666875] [<bf17dc30>] (drm_vblank_count_and_time [drm]) from [<bf17e484>] (drm_send_vblank_event+0x74/0x7c [drm]) [ 209.677385] [<bf17e484>] (drm_send_vblank_event [drm]) from [<bf4c1144>] (vop_win_state_complete+0x4c/0x70 [rockchip_drm_vop]) [ 209.688757] [<bf4c1144>] (vop_win_state_complete [rockchip_drm_vop]) from [<bf4c3bdc>] (vop_isr_thread+0x170/0x1d4 [rockchip_drm_vop]) [ 209.700822] [<bf4c3bdc>] (vop_isr_thread [rockchip_drm_vop]) from [<c00ab93c>] (irq_thread_fn+0x2c/0x50) [ 209.710284] [<c00ab93c>] (irq_thread_fn) from [<c00abcac>] (irq_thread+0x13c/0x188) [ 209.717927] [<c00abcac>] (irq_thread) from [<c00723c8>] (kthread+0xec/0x104) [ 209.724965] [<c00723c8>] (kthread) from [<c0011638>] (ret_from_fork+0x14/0x3c) [ 209.732171] ---[ end trace 0690bc604f5d535d ]--- Signed-off-by: NDaniel Stone <daniels@collabora.com> Cc: Sjoerd Simons <sjoerd.simons@collabora.co.uk> Cc: Thierry Reding <treding@nvidia.com> Cc: Heiko Stuebner <heiko@sntech.de> Tested-By: NSjoerd Simons <sjoerd.simons@collabora.co.uk> Tested-by: NHeiko Stuebner <heiko@sntech.de> Reviewed-by: NThierry Reding <treding@nvidia.com>
-
由 Luis de Bethencourt 提交于
This platform driver has a OF device ID table but the OF module alias information is not created so module autoloading won't work. Signed-off-by: NLuis de Bethencourt <luisbg@osg.samsung.com>
-
由 Dominik Behr 提交于
VOP_WINx_DSP_ST does not require subtracting 1 from the values written to it. It actually causes the screen to be shifted by one pixel. Signed-off-by: NMark Yao <mark.yao@rock-chips.com> Tested-by: NYakir Yang <ykk@rock-chips.com> Reviewed-by: NHeiko Stuebner <heiko@sntech.de> Tested-by: NHeiko Stuebner <heiko@sntech.de> Signed-off-by: NDominik Behr <dbehr@chromium.org> Signed-off-by: NMark Yao <mark.yao@rock-chips.com>
-
- 01 12月, 2015 1 次提交
-
-
由 Sjoerd Simons 提交于
When doing the initial setup both the hclk and the aclk need to be enabled otherwise the board will simply hang. This only occurs when building the vop driver as a module, when its built-in the initial setup happens to run before the clock framework shuts of unused clocks (including the aclk). While there also switch to doing prepare and enable in one step rather then separate steps to reduce the amount of code required. Signed-off-by: NSjoerd Simons <sjoerd.simons@collabora.co.uk> Acked-by: NMark Yao <mark.yao@rock-chips.com> Tested-by: NYakir Yang <ykk@rock-chips.com> Tested-by: NRomain Perier <romain.perier@gmail.com>
-
- 26 8月, 2015 6 次提交
-
-
由 Mark Yao 提交于
Win_full support 1/8 to 8 scale down/up engine, support all format scale. Signed-off-by: NMark Yao <mark.yao@rock-chips.com>
-
由 Mark Yao 提交于
The registers will be reset to default values when whole power domain off, so restore registers from regsbak. Signed-off-by: NMark Yao <mark.yao@rock-chips.com>
-
由 Mark Yao 提交于
Win2/3 support multiple area function, but we haven't found a suitable way to use it yet, so let's just use them as other windows with only area 0 enabled. Signed-off-by: NMark Yao <mark.yao@rock-chips.com>
-
由 Mark Yao 提交于
vop support yuv with NV12, NV16 and NV24, only 2 plane yuv. Signed-off-by: NMark Yao <mark.yao@rock-chips.com>
-
由 Mark Yao 提交于
Dest start point use crtc_x/y is wrong, crtc_x/y is not equal to dest.x1/y1 at plane scale. Signed-off-by: NMark Yao <mark.yao@rock-chips.com>
-
由 Mark Yao 提交于
vir_stride need number words of the virtual width, and fb->pitches save bytes_per_pixel, so just div 4 switch to stride. Signed-off-by: NMark Yao <mark.yao@rock-chips.com>
-
- 13 7月, 2015 3 次提交
-
-
由 yao mark 提交于
hardware cursor windows only have some fixed size, and not support width virtual, when move hardware cursor windows outside of left, the display would be wrong, so this window can't for cursor now. And Tag hardware cursor window as a overlay is wrong, will make userspace wrong behaviour. So just remove the hardware cursor window Signed-off-by: NMark Yao <mark.yao@rock-chips.com>
-
由 yao mark 提交于
Window 1 support scale and yuv format, it's waste use it for a cursor, use window 3 is enough. Signed-off-by: NMark Yao <mark.yao@rock-chips.com> Reviewed-by: NTomasz Figa <tfiga@chromium.org>
-
由 Tomasz Figa 提交于
VOP can support BGR formats in all windows thanks to red/blue swap option provided in WINx_CTRL0 registers. This patch enables support for ABGR8888, XBGR8888, BGR888 and BGR565 formats by using this feature. Signed-off-by: NTomasz Figa <tfiga@chromium.org>
-
- 17 6月, 2015 1 次提交
-
-
由 Paul Gortmaker 提交于
These files are built off of a tristate Kconfig option and also contain modular function calls so they should explicitly include module.h to avoid compile breakage during header shuffles done in the future. Cc: David Airlie <airlied@linux.ie> Cc: Mark Yao <mark.yao@rock-chips.com> Cc: dri-devel@lists.freedesktop.org Signed-off-by: NPaul Gortmaker <paul.gortmaker@windriver.com>
-
- 20 4月, 2015 1 次提交
-
-
由 Heiko Stuebner 提交于
platform_get_irq() can return negative error values and we already test for these. Therefore the variable holding this value should be signed to not loose possible error values. Reported-by: NDavid Binderman <dcb314@hotmail.com> Signed-off-by: NHeiko Stuebner <heiko@sntech.de> Reviewed-By: NDaniel Kurtz <djkurtz@chromium.org>
-
- 03 4月, 2015 2 次提交
-
-
由 Mark Yao 提交于
Reference the power domain incase vop power down when in use. Signed-off-by: NMark Yao <yzq@rock-chips.com>
-
由 Heiko Stuebner 提交于
The function disables the dclk at the beginning, so don't simply return when an error happens, but instead enable the clock again, so that enable and disable calls are balanced. ret_clk is introduced to hold the clk_enable result and not mangle the original error code. Signed-off-by: NHeiko Stuebner <heiko@sntech.de> Reviewed-by: NDaniel Kurtz <djkurtz@chromium.org>
-
- 16 3月, 2015 4 次提交
-
-
由 Mark Yao 提交于
Vop standby will take effect at end of current frame, if dsp_hold_valid_irq happen, it means vop standby complete. we must wait standby complete when we want to disable aclk, if not, memory bus maybe dead. Reviewed-by: NHeiko Stuebner <heiko@sntech.de> Reviewed-by: NDaniel Kurtz <djkurtz@chromium.org> Signed-off-by: NMark Yao <mark.yao@rock-chips.com>
-
由 Mark Yao 提交于
there is a Bug that: vop_enable()->drm_vblank_on, drm_vblank_on may call vop enable vblank. if it happen, vblank enable would failed, then cause irq status error. because is_enabled value is set after drm_vblank_on. after enable vop clocks and iommu regs, we can sure that R/W vop regs and do vop plane flip is safe, so place is_enabled = true after enable iommu is suitable. Signed-off-by: NMark Yao <mark.yao@rock-chips.com>
-
由 Mark Yao 提交于
drm dpms have many power modes: ON,OFF,SUSPEND,STANDBY, etc. but vop only have enable/disable mode, maybe case such bug: --> DRM_DPMS_ON: power on vop --> DRM_DPMS_SUSPEND: power off vop --> DRM_DPMS_OFF: already power off at SUSPEND, crash so use a bool val is more suitable. Signed-off-by: NMark Yao <mark.yao@rock-chips.com>
-
由 Mark Yao 提交于
Vop set wrong vsync/hsync polarity, it may cause some display problem. known problem is that caused HDMI hdcp authenticate failed, caused pixel offset with hdmi display. the polarity description at RK3288 TRM doc: dsp_vsync_pol VSYNC polarity 1'b0 : negative 1'b1 : positive dsp_hsync_pol HSYNC polarity 1'b0 : negative 1'b1 : positive Signed-off-by: NMark Yao <mark.yao@rock-chips.com> Reviewed-by: NDaniel Kurtz <djkurtz@chromium.org> Tested-by: NCaesar Wang <wxt@rock-chips.com> Tested-by: NHeiko Stuebner <heiko@sntech.de>
-
- 08 1月, 2015 1 次提交
-
-
由 Philipp Zabel 提交于
To build the rockchip dw_hdmi driver as a module, the rockchip_drm_encoder_get_mux_id and rockchip_drm_crtc_mode_config functions need to be exported. Signed-off-by: NPhilipp Zabel <p.zabel@pengutronix.de>
-
- 02 12月, 2014 1 次提交
-
-
由 Mark Yao 提交于
This patch adds the basic structure of a DRM Driver for Rockchip Socs. Signed-off-by: NMark Yao <mark.yao@rock-chips.com> Signed-off-by: NDaniel Kurtz <djkurtz@chromium.org> Acked-by: NDaniel Vetter <daniel@ffwll.ch> Reviewed-by: NRob Clark <robdclark@gmail.com>
-