Skip to content

Commit 0f08b31

Browse files
committed
Merge tag 'drm-misc-fixes-2020-03-18-1' of git://anongit.freedesktop.org/drm/drm-misc into drm-fixes
- drm/lease: fix WARNING in idr_destroy - Fix AVI frame colorimetry in the dw-hdmi bridge. - Fix compiler warning in komeda by annotating functions as __maybe_unused. - Downgrade bochs pci_request_region failure from error to warning to workaround firmware fb. Signed-off-by: Dave Airlie <[email protected]> From: Maarten Lankhorst <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
2 parents fb33c65 + b216a8e commit 0f08b31

File tree

4 files changed

+32
-27
lines changed

4 files changed

+32
-27
lines changed

drivers/gpu/drm/arm/display/komeda/komeda_drv.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -146,14 +146,14 @@ static const struct of_device_id komeda_of_match[] = {
146146

147147
MODULE_DEVICE_TABLE(of, komeda_of_match);
148148

149-
static int komeda_rt_pm_suspend(struct device *dev)
149+
static int __maybe_unused komeda_rt_pm_suspend(struct device *dev)
150150
{
151151
struct komeda_drv *mdrv = dev_get_drvdata(dev);
152152

153153
return komeda_dev_suspend(mdrv->mdev);
154154
}
155155

156-
static int komeda_rt_pm_resume(struct device *dev)
156+
static int __maybe_unused komeda_rt_pm_resume(struct device *dev)
157157
{
158158
struct komeda_drv *mdrv = dev_get_drvdata(dev);
159159

drivers/gpu/drm/bochs/bochs_hw.c

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -156,10 +156,8 @@ int bochs_hw_init(struct drm_device *dev)
156156
size = min(size, mem);
157157
}
158158

159-
if (pci_request_region(pdev, 0, "bochs-drm") != 0) {
160-
DRM_ERROR("Cannot request framebuffer\n");
161-
return -EBUSY;
162-
}
159+
if (pci_request_region(pdev, 0, "bochs-drm") != 0)
160+
DRM_WARN("Cannot request framebuffer, boot fb still active?\n");
163161

164162
bochs->fb_map = ioremap(addr, size);
165163
if (bochs->fb_map == NULL) {

drivers/gpu/drm/bridge/synopsys/dw-hdmi.c

Lines changed: 26 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1624,28 +1624,34 @@ static void hdmi_config_AVI(struct dw_hdmi *hdmi, struct drm_display_mode *mode)
16241624
frame.colorspace = HDMI_COLORSPACE_RGB;
16251625

16261626
/* Set up colorimetry */
1627-
switch (hdmi->hdmi_data.enc_out_encoding) {
1628-
case V4L2_YCBCR_ENC_601:
1629-
if (hdmi->hdmi_data.enc_in_encoding == V4L2_YCBCR_ENC_XV601)
1630-
frame.colorimetry = HDMI_COLORIMETRY_EXTENDED;
1631-
else
1627+
if (!hdmi_bus_fmt_is_rgb(hdmi->hdmi_data.enc_out_bus_format)) {
1628+
switch (hdmi->hdmi_data.enc_out_encoding) {
1629+
case V4L2_YCBCR_ENC_601:
1630+
if (hdmi->hdmi_data.enc_in_encoding == V4L2_YCBCR_ENC_XV601)
1631+
frame.colorimetry = HDMI_COLORIMETRY_EXTENDED;
1632+
else
1633+
frame.colorimetry = HDMI_COLORIMETRY_ITU_601;
1634+
frame.extended_colorimetry =
1635+
HDMI_EXTENDED_COLORIMETRY_XV_YCC_601;
1636+
break;
1637+
case V4L2_YCBCR_ENC_709:
1638+
if (hdmi->hdmi_data.enc_in_encoding == V4L2_YCBCR_ENC_XV709)
1639+
frame.colorimetry = HDMI_COLORIMETRY_EXTENDED;
1640+
else
1641+
frame.colorimetry = HDMI_COLORIMETRY_ITU_709;
1642+
frame.extended_colorimetry =
1643+
HDMI_EXTENDED_COLORIMETRY_XV_YCC_709;
1644+
break;
1645+
default: /* Carries no data */
16321646
frame.colorimetry = HDMI_COLORIMETRY_ITU_601;
1647+
frame.extended_colorimetry =
1648+
HDMI_EXTENDED_COLORIMETRY_XV_YCC_601;
1649+
break;
1650+
}
1651+
} else {
1652+
frame.colorimetry = HDMI_COLORIMETRY_NONE;
16331653
frame.extended_colorimetry =
1634-
HDMI_EXTENDED_COLORIMETRY_XV_YCC_601;
1635-
break;
1636-
case V4L2_YCBCR_ENC_709:
1637-
if (hdmi->hdmi_data.enc_in_encoding == V4L2_YCBCR_ENC_XV709)
1638-
frame.colorimetry = HDMI_COLORIMETRY_EXTENDED;
1639-
else
1640-
frame.colorimetry = HDMI_COLORIMETRY_ITU_709;
1641-
frame.extended_colorimetry =
1642-
HDMI_EXTENDED_COLORIMETRY_XV_YCC_709;
1643-
break;
1644-
default: /* Carries no data */
1645-
frame.colorimetry = HDMI_COLORIMETRY_ITU_601;
1646-
frame.extended_colorimetry =
1647-
HDMI_EXTENDED_COLORIMETRY_XV_YCC_601;
1648-
break;
1654+
HDMI_EXTENDED_COLORIMETRY_XV_YCC_601;
16491655
}
16501656

16511657
frame.scan_mode = HDMI_SCAN_MODE_NONE;

drivers/gpu/drm/drm_lease.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -542,10 +542,12 @@ int drm_mode_create_lease_ioctl(struct drm_device *dev,
542542
}
543543

544544
DRM_DEBUG_LEASE("Creating lease\n");
545+
/* lessee will take the ownership of leases */
545546
lessee = drm_lease_create(lessor, &leases);
546547

547548
if (IS_ERR(lessee)) {
548549
ret = PTR_ERR(lessee);
550+
idr_destroy(&leases);
549551
goto out_leases;
550552
}
551553

@@ -580,7 +582,6 @@ int drm_mode_create_lease_ioctl(struct drm_device *dev,
580582

581583
out_leases:
582584
put_unused_fd(fd);
583-
idr_destroy(&leases);
584585

585586
DRM_DEBUG_LEASE("drm_mode_create_lease_ioctl failed: %d\n", ret);
586587
return ret;

0 commit comments

Comments
 (0)