Skip to content

Commit b16702b

Browse files
committed
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
2 parents e5767a9 + 4050957 commit b16702b

4 files changed

Lines changed: 9 additions & 9 deletions

File tree

Documentation/devicetree/bindings/display/samsung/samsung,exynos-mixer.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ allOf:
8585
clocks:
8686
minItems: 6
8787
maxItems: 6
88-
regs:
88+
reg:
8989
minItems: 2
9090
maxItems: 2
9191

@@ -99,7 +99,7 @@ allOf:
9999
clocks:
100100
minItems: 4
101101
maxItems: 4
102-
regs:
102+
reg:
103103
minItems: 2
104104
maxItems: 2
105105

@@ -116,7 +116,7 @@ allOf:
116116
clocks:
117117
minItems: 3
118118
maxItems: 3
119-
regs:
119+
reg:
120120
minItems: 1
121121
maxItems: 1
122122

drivers/gpu/drm/exynos/exynos5433_drm_decon.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -319,9 +319,9 @@ static void decon_win_set_bldmod(struct decon_context *ctx, unsigned int win,
319319
static void decon_win_set_pixfmt(struct decon_context *ctx, unsigned int win,
320320
struct drm_framebuffer *fb)
321321
{
322-
struct exynos_drm_plane plane = ctx->planes[win];
322+
struct exynos_drm_plane *plane = &ctx->planes[win];
323323
struct exynos_drm_plane_state *state =
324-
to_exynos_plane_state(plane.base.state);
324+
to_exynos_plane_state(plane->base.state);
325325
unsigned int alpha = state->base.alpha;
326326
unsigned int pixel_alpha;
327327
unsigned long val;

drivers/gpu/drm/exynos/exynos_drm_fimd.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -480,7 +480,7 @@ static void fimd_commit(struct exynos_drm_crtc *crtc)
480480
struct fimd_context *ctx = crtc->ctx;
481481
struct drm_display_mode *mode = &crtc->base.state->adjusted_mode;
482482
const struct fimd_driver_data *driver_data = ctx->driver_data;
483-
void *timing_base = ctx->regs + driver_data->timing_base;
483+
void __iomem *timing_base = ctx->regs + driver_data->timing_base;
484484
u32 val;
485485

486486
if (ctx->suspended)
@@ -661,9 +661,9 @@ static void fimd_win_set_bldmod(struct fimd_context *ctx, unsigned int win,
661661
static void fimd_win_set_pixfmt(struct fimd_context *ctx, unsigned int win,
662662
struct drm_framebuffer *fb, int width)
663663
{
664-
struct exynos_drm_plane plane = ctx->planes[win];
664+
struct exynos_drm_plane *plane = &ctx->planes[win];
665665
struct exynos_drm_plane_state *state =
666-
to_exynos_plane_state(plane.base.state);
666+
to_exynos_plane_state(plane->base.state);
667667
uint32_t pixel_format = fb->format->format;
668668
unsigned int alpha = state->base.alpha;
669669
u32 val = WINCONx_ENWIN;

drivers/gpu/drm/exynos/exynos_drm_gsc.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1341,7 +1341,7 @@ static int __maybe_unused gsc_runtime_resume(struct device *dev)
13411341
for (i = 0; i < ctx->num_clocks; i++) {
13421342
ret = clk_prepare_enable(ctx->clocks[i]);
13431343
if (ret) {
1344-
while (--i > 0)
1344+
while (--i >= 0)
13451345
clk_disable_unprepare(ctx->clocks[i]);
13461346
return ret;
13471347
}

0 commit comments

Comments
 (0)