- Revert adding device-link to panels
-----BEGIN PGP SIGNATURE----- iQEzBAABCgAdFiEEfxcpfMSgdnQMs+QqlvcN/ahKBwoFAlus9mwACgkQlvcN/ahK BwoM/AgAh9UvBm/PeL/Nq//0j/WZc4+ddFyEidABBvZtDwUIq+bfgGRnF42AdakP O9Ecc/jIYcG2JFRN4uv3QoTHWq3OLNE3RGzt1jN95JLMDkDEyEoISvGk4KE4lknF pxBs3bHBqHDE2QL9DtdSYnI5xwRq0ICFq8SuebWfjXLRS5cCLQlhQk9+m0nPrhlR xLziaXXDwAYru6PyybY59z63BP5BMx8DHzqjcHvQNQZb7tM/poJmFTgNkuvC9KF5 VGBw0qHkNGXXF+5IFBpUNXIpJqqbnHaowUbqm6IGlrDD4WlUPLqAYldR7pE92aJX anNl0nfpjYKkmCkdLdDwMYk0JnHWHw== =g8mw -----END PGP SIGNATURE----- Merge tag 'drm-misc-fixes-2018-09-27-1' of git://anongit.freedesktop.org/drm/drm-misc into drm-fixes - Revert adding device-link to panels - Don't leak fences in drm/syncobj Signed-off-by: Dave Airlie <airlied@redhat.com> From: Sean Paul <sean@poorly.run> Link: https://patchwork.freedesktop.org/patch/msgid/20180927152712.GA53076@art_vandelay
This commit is contained in:
commit
adba0e5493
|
@ -24,7 +24,6 @@
|
||||||
#include <linux/err.h>
|
#include <linux/err.h>
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
|
|
||||||
#include <drm/drm_device.h>
|
|
||||||
#include <drm/drm_crtc.h>
|
#include <drm/drm_crtc.h>
|
||||||
#include <drm/drm_panel.h>
|
#include <drm/drm_panel.h>
|
||||||
|
|
||||||
|
@ -105,13 +104,6 @@ int drm_panel_attach(struct drm_panel *panel, struct drm_connector *connector)
|
||||||
if (panel->connector)
|
if (panel->connector)
|
||||||
return -EBUSY;
|
return -EBUSY;
|
||||||
|
|
||||||
panel->link = device_link_add(connector->dev->dev, panel->dev, 0);
|
|
||||||
if (!panel->link) {
|
|
||||||
dev_err(panel->dev, "failed to link panel to %s\n",
|
|
||||||
dev_name(connector->dev->dev));
|
|
||||||
return -EINVAL;
|
|
||||||
}
|
|
||||||
|
|
||||||
panel->connector = connector;
|
panel->connector = connector;
|
||||||
panel->drm = connector->dev;
|
panel->drm = connector->dev;
|
||||||
|
|
||||||
|
@ -133,8 +125,6 @@ EXPORT_SYMBOL(drm_panel_attach);
|
||||||
*/
|
*/
|
||||||
int drm_panel_detach(struct drm_panel *panel)
|
int drm_panel_detach(struct drm_panel *panel)
|
||||||
{
|
{
|
||||||
device_link_del(panel->link);
|
|
||||||
|
|
||||||
panel->connector = NULL;
|
panel->connector = NULL;
|
||||||
panel->drm = NULL;
|
panel->drm = NULL;
|
||||||
|
|
||||||
|
|
|
@ -97,6 +97,8 @@ static int drm_syncobj_fence_get_or_add_callback(struct drm_syncobj *syncobj,
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
|
WARN_ON(*fence);
|
||||||
|
|
||||||
*fence = drm_syncobj_fence_get(syncobj);
|
*fence = drm_syncobj_fence_get(syncobj);
|
||||||
if (*fence)
|
if (*fence)
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -743,6 +745,9 @@ static signed long drm_syncobj_array_wait_timeout(struct drm_syncobj **syncobjs,
|
||||||
|
|
||||||
if (flags & DRM_SYNCOBJ_WAIT_FLAGS_WAIT_FOR_SUBMIT) {
|
if (flags & DRM_SYNCOBJ_WAIT_FLAGS_WAIT_FOR_SUBMIT) {
|
||||||
for (i = 0; i < count; ++i) {
|
for (i = 0; i < count; ++i) {
|
||||||
|
if (entries[i].fence)
|
||||||
|
continue;
|
||||||
|
|
||||||
drm_syncobj_fence_get_or_add_callback(syncobjs[i],
|
drm_syncobj_fence_get_or_add_callback(syncobjs[i],
|
||||||
&entries[i].fence,
|
&entries[i].fence,
|
||||||
&entries[i].syncobj_cb,
|
&entries[i].syncobj_cb,
|
||||||
|
|
|
@ -89,7 +89,6 @@ struct drm_panel {
|
||||||
struct drm_device *drm;
|
struct drm_device *drm;
|
||||||
struct drm_connector *connector;
|
struct drm_connector *connector;
|
||||||
struct device *dev;
|
struct device *dev;
|
||||||
struct device_link *link;
|
|
||||||
|
|
||||||
const struct drm_panel_funcs *funcs;
|
const struct drm_panel_funcs *funcs;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue