Commit f7bf6bdb authored by Dave Airlie's avatar Dave Airlie
Browse files

Merge tag 'drm-misc-fixes-2025-05-15' of...

Merge tag 'drm-misc-fixes-2025-05-15' of https://gitlab.freedesktop.org/drm/misc/kernel

 into drm-fixes

Short summary of fixes pull:

dma-buf:
- Avoid memory reordering in fence handling

ivpu:
- Fix buffer size in debugfs code

meson:
- Avoid integer overflow in mode-clock calculations

panel-mipi-dbi:
- Fix output with drm_client_setup_with_fourcc()

Signed-off-by: default avatarDave Airlie <airlied@redhat.com>

From: Thomas Zimmermann <tzimmermann@suse.de>
Link: https://lore.kernel.org/r/20250515125534.GA41174@linux.fritz.box
parents 34f7151d 72c7d625
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -455,7 +455,7 @@ priority_bands_fops_write(struct file *file, const char __user *user_buf, size_t
	if (ret < 0)
		return ret;

	buf[size] = '\0';
	buf[ret] = '\0';
	ret = sscanf(buf, "%u %u %u %u", &band, &grace_period, &process_grace_period,
		     &process_quantum);
	if (ret != 4)
+3 −2
Original line number Diff line number Diff line
@@ -320,8 +320,9 @@ void dma_resv_add_fence(struct dma_resv *obj, struct dma_fence *fence,
	count++;

	dma_resv_list_set(fobj, i, fence, usage);
	/* pointer update must be visible before we extend the num_fences */
	smp_store_mb(fobj->num_fences, count);
	/* fence update must be visible before we extend the num_fences */
	smp_wmb();
	fobj->num_fences = count;
}
EXPORT_SYMBOL(dma_resv_add_fence);

+2 −2
Original line number Diff line number Diff line
@@ -75,7 +75,7 @@ static void meson_encoder_hdmi_set_vclk(struct meson_encoder_hdmi *encoder_hdmi,
	unsigned long long venc_freq;
	unsigned long long hdmi_freq;

	vclk_freq = mode->clock * 1000;
	vclk_freq = mode->clock * 1000ULL;

	/* For 420, pixel clock is half unlike venc clock */
	if (encoder_hdmi->output_bus_fmt == MEDIA_BUS_FMT_UYYVYY8_0_5X24)
@@ -123,7 +123,7 @@ static enum drm_mode_status meson_encoder_hdmi_mode_valid(struct drm_bridge *bri
	struct meson_encoder_hdmi *encoder_hdmi = bridge_to_meson_encoder_hdmi(bridge);
	struct meson_drm *priv = encoder_hdmi->priv;
	bool is_hdmi2_sink = display_info->hdmi.scdc.supported;
	unsigned long long clock = mode->clock * 1000;
	unsigned long long clock = mode->clock * 1000ULL;
	unsigned long long phy_freq;
	unsigned long long vclk_freq;
	unsigned long long venc_freq;
+4 −1
Original line number Diff line number Diff line
@@ -390,7 +390,10 @@ static int panel_mipi_dbi_spi_probe(struct spi_device *spi)

	spi_set_drvdata(spi, drm);

	drm_client_setup(drm, NULL);
	if (bpp == 16)
		drm_client_setup_with_fourcc(drm, DRM_FORMAT_RGB565);
	else
		drm_client_setup_with_fourcc(drm, DRM_FORMAT_RGB888);

	return 0;
}