mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00
drm/nouveau/drm/nouveau: Don't forget to label dp_aux devices
This makes debugging with DP tracing a lot harder to interpret, so name each i2c based off the name of the encoder that it's for Signed-off-by: Lyude Paul <lyude@redhat.com> Reviewed-by: Karol Herbst <karolherbst@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
This commit is contained in:
parent
b89fdf7ae8
commit
3c7fc252b3
4 changed files with 12 additions and 4 deletions
|
@ -67,7 +67,7 @@ nv04_display_create(struct drm_device *dev)
|
||||||
for (i = 0; i < dcb->entries; i++) {
|
for (i = 0; i < dcb->entries; i++) {
|
||||||
struct dcb_output *dcbent = &dcb->entry[i];
|
struct dcb_output *dcbent = &dcb->entry[i];
|
||||||
|
|
||||||
connector = nouveau_connector_create(dev, dcbent->connector);
|
connector = nouveau_connector_create(dev, dcbent);
|
||||||
if (IS_ERR(connector))
|
if (IS_ERR(connector))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
|
|
@ -2301,7 +2301,7 @@ nv50_display_create(struct drm_device *dev)
|
||||||
|
|
||||||
/* create encoder/connector objects based on VBIOS DCB table */
|
/* create encoder/connector objects based on VBIOS DCB table */
|
||||||
for (i = 0, dcbe = &dcb->entry[0]; i < dcb->entries; i++, dcbe++) {
|
for (i = 0, dcbe = &dcb->entry[0]; i < dcb->entries; i++, dcbe++) {
|
||||||
connector = nouveau_connector_create(dev, dcbe->connector);
|
connector = nouveau_connector_create(dev, dcbe);
|
||||||
if (IS_ERR(connector))
|
if (IS_ERR(connector))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
|
|
@ -403,6 +403,7 @@ nouveau_connector_destroy(struct drm_connector *connector)
|
||||||
if (nv_connector->aux.transfer) {
|
if (nv_connector->aux.transfer) {
|
||||||
drm_dp_cec_unregister_connector(&nv_connector->aux);
|
drm_dp_cec_unregister_connector(&nv_connector->aux);
|
||||||
drm_dp_aux_unregister(&nv_connector->aux);
|
drm_dp_aux_unregister(&nv_connector->aux);
|
||||||
|
kfree(nv_connector->aux.name);
|
||||||
}
|
}
|
||||||
kfree(connector);
|
kfree(connector);
|
||||||
}
|
}
|
||||||
|
@ -1232,7 +1233,8 @@ drm_conntype_from_dcb(enum dcb_connector_type dcb)
|
||||||
}
|
}
|
||||||
|
|
||||||
struct drm_connector *
|
struct drm_connector *
|
||||||
nouveau_connector_create(struct drm_device *dev, int index)
|
nouveau_connector_create(struct drm_device *dev,
|
||||||
|
const struct dcb_output *dcbe)
|
||||||
{
|
{
|
||||||
const struct drm_connector_funcs *funcs = &nouveau_connector_funcs;
|
const struct drm_connector_funcs *funcs = &nouveau_connector_funcs;
|
||||||
struct nouveau_drm *drm = nouveau_drm(dev);
|
struct nouveau_drm *drm = nouveau_drm(dev);
|
||||||
|
@ -1240,6 +1242,8 @@ nouveau_connector_create(struct drm_device *dev, int index)
|
||||||
struct nouveau_connector *nv_connector = NULL;
|
struct nouveau_connector *nv_connector = NULL;
|
||||||
struct drm_connector *connector;
|
struct drm_connector *connector;
|
||||||
struct drm_connector_list_iter conn_iter;
|
struct drm_connector_list_iter conn_iter;
|
||||||
|
char aux_name[48] = {0};
|
||||||
|
int index = dcbe->connector;
|
||||||
int type, ret = 0;
|
int type, ret = 0;
|
||||||
bool dummy;
|
bool dummy;
|
||||||
|
|
||||||
|
@ -1342,6 +1346,9 @@ nouveau_connector_create(struct drm_device *dev, int index)
|
||||||
case DRM_MODE_CONNECTOR_eDP:
|
case DRM_MODE_CONNECTOR_eDP:
|
||||||
nv_connector->aux.dev = dev->dev;
|
nv_connector->aux.dev = dev->dev;
|
||||||
nv_connector->aux.transfer = nouveau_connector_aux_xfer;
|
nv_connector->aux.transfer = nouveau_connector_aux_xfer;
|
||||||
|
snprintf(aux_name, sizeof(aux_name), "sor-%04x-%04x",
|
||||||
|
dcbe->hasht, dcbe->hashm);
|
||||||
|
nv_connector->aux.name = kstrdup(aux_name, GFP_KERNEL);
|
||||||
ret = drm_dp_aux_register(&nv_connector->aux);
|
ret = drm_dp_aux_register(&nv_connector->aux);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
NV_ERROR(drm, "failed to register aux channel\n");
|
NV_ERROR(drm, "failed to register aux channel\n");
|
||||||
|
|
|
@ -38,6 +38,7 @@
|
||||||
#include "nouveau_encoder.h"
|
#include "nouveau_encoder.h"
|
||||||
|
|
||||||
struct nvkm_i2c_port;
|
struct nvkm_i2c_port;
|
||||||
|
struct dcb_output;
|
||||||
|
|
||||||
#ifdef CONFIG_DRM_NOUVEAU_BACKLIGHT
|
#ifdef CONFIG_DRM_NOUVEAU_BACKLIGHT
|
||||||
struct nouveau_backlight;
|
struct nouveau_backlight;
|
||||||
|
@ -113,7 +114,7 @@ nouveau_crtc_connector_get(struct nouveau_crtc *nv_crtc)
|
||||||
}
|
}
|
||||||
|
|
||||||
struct drm_connector *
|
struct drm_connector *
|
||||||
nouveau_connector_create(struct drm_device *, int index);
|
nouveau_connector_create(struct drm_device *, const struct dcb_output *);
|
||||||
|
|
||||||
extern int nouveau_tv_disable;
|
extern int nouveau_tv_disable;
|
||||||
extern int nouveau_ignorelid;
|
extern int nouveau_ignorelid;
|
||||||
|
|
Loading…
Add table
Reference in a new issue