Several fixups
- Minor fix in `drm/exynos: gsc: gsc_runtime_resume`
. The patch ensures `clk_disable_unprepare()` is called on the first
element of `ctx->clocks` array.
This issue was identified by the Linux Verification Center.
- Fix excessive stack usage in `fimd_win_set_pixfmt()` in `drm/exynos`
. The issue, highlighted by gcc, involved an unnecessary on-stack copy of
the large `exynos_drm_plane` structure, now replaced with a pointer.
- Fix an incorrect type issue in `exynos_drm_fimd.c` module
. Addresses an incorrect type issue in `fimd_commit()` within the
`exynos_drm_fimd.c` The problem was reported by the kernel test robot[1].
[1] https://lore.kernel.org/oe-kbuild-all/202312140930.Me9yWf8F-lkp@intel.com/
- Fix a typo in the dt-bindings for `samsung,exynos-mixer`
. Changes 'regs' to the correct property name 'reg' in the dt-bindings
documentation for `samsung,exynos-mixer`
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEGaM000JtH4Vhbu4NZMZxZtnUbQkFAmWuFrMACgkQZMZxZtnU
bQlGpQ//dKSc1R3mXO2d/QsrJR9Q3F7DX18E32eOpu+j3IleQ9Tsfhdnh/Lz2iFI
8V9/CtUHOLaRwDoGmo5dwge0FhDQCuBFBr5kP/pS5en+yEpdIjgAf/0kxIAK04bF
v3V0Gqju+guqljwZ4gxPVMO2P0vcr4Xk8XVYHrIc1K4udRXKJJX3wluqSTrGy/TX
mkCT1gem4U+PjR5JP+HvS2hFM+vk8RjTo3+CzsBGBcdi6GSyTEoypy10GISbZ2IG
Y2Ra4dhikZlr5SFcFgCBp4dzbdFDdcq1GGeFIR7YuKoBSe9UMNzBR6jDfGKvBa0q
5kvFo96huyTOf+FgwI1+arsETejC4/9MJWms0rQms/KZWHO2TnfA7pN5ByeapYKU
NVilm9Bjf7B4rTVjRQHIBzsrPeyFfDYaAF/VODWhDLq5Tu+LHyAdIJK/2U5FTaiA
XClyukvKX1+28IAhEOKP+UUqNnaPiWc493yXvo59ZgZEbL7XB89+X+n+ncMg/6ip
WUZqXsZXCUy1jYdDE8xj8gLOM7UpAjnW4zdbTJcjt28kS9L/firYZ8p3byhxHQ/H
719Q4yaBJJQKV9pha2plWpg8cROuMRf30Gb/2VDzu64pcyfBaY2OXjm5O/N5R0MU
NmP3Rpi+GGhfHHmSl4MBCoGk+/zuOum038JEUjfnHgkW3a5CRX4=
=OkrW
-----END PGP SIGNATURE-----
Merge tag 'exynos-drm-fixes-for-v6.8-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos into drm-fixes
Several fixups
- Minor fix in `drm/exynos: gsc: gsc_runtime_resume`
. The patch ensures `clk_disable_unprepare()` is called on the first
element of `ctx->clocks` array.
This issue was identified by the Linux Verification Center.
- Fix excessive stack usage in `fimd_win_set_pixfmt()` in `drm/exynos`
. The issue, highlighted by gcc, involved an unnecessary on-stack copy of
the large `exynos_drm_plane` structure, now replaced with a pointer.
- Fix an incorrect type issue in `exynos_drm_fimd.c` module
. Addresses an incorrect type issue in `fimd_commit()` within the
`exynos_drm_fimd.c` The problem was reported by the kernel test robot[1].
[1] https://lore.kernel.org/oe-kbuild-all/202312140930.Me9yWf8F-lkp@intel.com/
- Fix a typo in the dt-bindings for `samsung,exynos-mixer`
. Changes 'regs' to the correct property name 'reg' in the dt-bindings
documentation for `samsung,exynos-mixer`
Signed-off-by: Dave Airlie <airlied@redhat.com>
From: Inki Dae <inki.dae@samsung.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240122072407.39546-1-inki.dae@samsung.com
This commit is contained in:
commit
b16702be21
@ -85,7 +85,7 @@ allOf:
|
||||
clocks:
|
||||
minItems: 6
|
||||
maxItems: 6
|
||||
regs:
|
||||
reg:
|
||||
minItems: 2
|
||||
maxItems: 2
|
||||
|
||||
@ -99,7 +99,7 @@ allOf:
|
||||
clocks:
|
||||
minItems: 4
|
||||
maxItems: 4
|
||||
regs:
|
||||
reg:
|
||||
minItems: 2
|
||||
maxItems: 2
|
||||
|
||||
@ -116,7 +116,7 @@ allOf:
|
||||
clocks:
|
||||
minItems: 3
|
||||
maxItems: 3
|
||||
regs:
|
||||
reg:
|
||||
minItems: 1
|
||||
maxItems: 1
|
||||
|
||||
|
||||
@ -319,9 +319,9 @@ static void decon_win_set_bldmod(struct decon_context *ctx, unsigned int win,
|
||||
static void decon_win_set_pixfmt(struct decon_context *ctx, unsigned int win,
|
||||
struct drm_framebuffer *fb)
|
||||
{
|
||||
struct exynos_drm_plane plane = ctx->planes[win];
|
||||
struct exynos_drm_plane *plane = &ctx->planes[win];
|
||||
struct exynos_drm_plane_state *state =
|
||||
to_exynos_plane_state(plane.base.state);
|
||||
to_exynos_plane_state(plane->base.state);
|
||||
unsigned int alpha = state->base.alpha;
|
||||
unsigned int pixel_alpha;
|
||||
unsigned long val;
|
||||
|
||||
@ -480,7 +480,7 @@ static void fimd_commit(struct exynos_drm_crtc *crtc)
|
||||
struct fimd_context *ctx = crtc->ctx;
|
||||
struct drm_display_mode *mode = &crtc->base.state->adjusted_mode;
|
||||
const struct fimd_driver_data *driver_data = ctx->driver_data;
|
||||
void *timing_base = ctx->regs + driver_data->timing_base;
|
||||
void __iomem *timing_base = ctx->regs + driver_data->timing_base;
|
||||
u32 val;
|
||||
|
||||
if (ctx->suspended)
|
||||
@ -661,9 +661,9 @@ static void fimd_win_set_bldmod(struct fimd_context *ctx, unsigned int win,
|
||||
static void fimd_win_set_pixfmt(struct fimd_context *ctx, unsigned int win,
|
||||
struct drm_framebuffer *fb, int width)
|
||||
{
|
||||
struct exynos_drm_plane plane = ctx->planes[win];
|
||||
struct exynos_drm_plane *plane = &ctx->planes[win];
|
||||
struct exynos_drm_plane_state *state =
|
||||
to_exynos_plane_state(plane.base.state);
|
||||
to_exynos_plane_state(plane->base.state);
|
||||
uint32_t pixel_format = fb->format->format;
|
||||
unsigned int alpha = state->base.alpha;
|
||||
u32 val = WINCONx_ENWIN;
|
||||
|
||||
@ -1341,7 +1341,7 @@ static int __maybe_unused gsc_runtime_resume(struct device *dev)
|
||||
for (i = 0; i < ctx->num_clocks; i++) {
|
||||
ret = clk_prepare_enable(ctx->clocks[i]);
|
||||
if (ret) {
|
||||
while (--i > 0)
|
||||
while (--i >= 0)
|
||||
clk_disable_unprepare(ctx->clocks[i]);
|
||||
return ret;
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user