Skip to content

Commit 23ecd4c

Browse files
committed
Merge tag 'drm-misc-next-fixes-2022-01-21' of git://anongit.freedesktop.org/drm/drm-misc into drm-fixes
* vc4: Fix potential deadlock in DSI code * panel: Add orientation quirk for 1Netbook OneXPlayer Signed-off-by: Dave Airlie <[email protected]> From: Thomas Zimmermann <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/Yepuhj+Ks+IyJ9Dp@linux-uq9g
2 parents e783362 + d3cbc6e commit 23ecd4c

File tree

2 files changed

+16
-10
lines changed

2 files changed

+16
-10
lines changed

drivers/gpu/drm/drm_panel_orientation_quirks.c

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,12 @@ static const struct drm_dmi_panel_orientation_data lcd1280x1920_rightside_up = {
115115
.orientation = DRM_MODE_PANEL_ORIENTATION_RIGHT_UP,
116116
};
117117

118+
static const struct drm_dmi_panel_orientation_data lcd1600x2560_leftside_up = {
119+
.width = 1600,
120+
.height = 2560,
121+
.orientation = DRM_MODE_PANEL_ORIENTATION_LEFT_UP,
122+
};
123+
118124
static const struct dmi_system_id orientation_data[] = {
119125
{ /* Acer One 10 (S1003) */
120126
.matches = {
@@ -275,6 +281,12 @@ static const struct dmi_system_id orientation_data[] = {
275281
DMI_EXACT_MATCH(DMI_PRODUCT_VERSION, "Default string"),
276282
},
277283
.driver_data = (void *)&onegx1_pro,
284+
}, { /* OneXPlayer */
285+
.matches = {
286+
DMI_EXACT_MATCH(DMI_SYS_VENDOR, "ONE-NETBOOK TECHNOLOGY CO., LTD."),
287+
DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "ONE XPLAYER"),
288+
},
289+
.driver_data = (void *)&lcd1600x2560_leftside_up,
278290
}, { /* Samsung GalaxyBook 10.6 */
279291
.matches = {
280292
DMI_EXACT_MATCH(DMI_SYS_VENDOR, "SAMSUNG ELECTRONICS CO., LTD."),

drivers/gpu/drm/vc4/vc4_dsi.c

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1262,7 +1262,6 @@ static int vc4_dsi_host_attach(struct mipi_dsi_host *host,
12621262
struct mipi_dsi_device *device)
12631263
{
12641264
struct vc4_dsi *dsi = host_to_dsi(host);
1265-
int ret;
12661265

12671266
dsi->lanes = device->lanes;
12681267
dsi->channel = device->channel;
@@ -1297,18 +1296,15 @@ static int vc4_dsi_host_attach(struct mipi_dsi_host *host,
12971296
return 0;
12981297
}
12991298

1300-
ret = component_add(&dsi->pdev->dev, &vc4_dsi_ops);
1301-
if (ret) {
1302-
mipi_dsi_host_unregister(&dsi->dsi_host);
1303-
return ret;
1304-
}
1305-
1306-
return 0;
1299+
return component_add(&dsi->pdev->dev, &vc4_dsi_ops);
13071300
}
13081301

13091302
static int vc4_dsi_host_detach(struct mipi_dsi_host *host,
13101303
struct mipi_dsi_device *device)
13111304
{
1305+
struct vc4_dsi *dsi = host_to_dsi(host);
1306+
1307+
component_del(&dsi->pdev->dev, &vc4_dsi_ops);
13121308
return 0;
13131309
}
13141310

@@ -1686,9 +1682,7 @@ static int vc4_dsi_dev_remove(struct platform_device *pdev)
16861682
struct device *dev = &pdev->dev;
16871683
struct vc4_dsi *dsi = dev_get_drvdata(dev);
16881684

1689-
component_del(&pdev->dev, &vc4_dsi_ops);
16901685
mipi_dsi_host_unregister(&dsi->dsi_host);
1691-
16921686
return 0;
16931687
}
16941688

0 commit comments

Comments
 (0)