diff options
author | Dave Airlie <airlied@redhat.com> | 2014-06-11 15:22:35 +1000 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2014-09-05 11:42:14 +1000 |
commit | ac6bbb18b83be6c1f5c9333abd17b53dd8171473 (patch) | |
tree | 387ec71c7ef9f7dd3288ae7b444990c13ed369a9 | |
parent | 3e0560f19ea0125e08148891c964f487408c1de2 (diff) |
drm: add tiling info to connector
Conflicts:
include/drm/drm_crtc.h
-rw-r--r-- | drivers/gpu/drm/drm_displayid.c | 6 | ||||
-rw-r--r-- | drivers/gpu/drm/drm_edid.c | 2 | ||||
-rw-r--r-- | include/drm/drm_crtc.h | 6 |
3 files changed, 14 insertions, 0 deletions
diff --git a/drivers/gpu/drm/drm_displayid.c b/drivers/gpu/drm/drm_displayid.c index 08e232683a99..cd9c637e2080 100644 --- a/drivers/gpu/drm/drm_displayid.c +++ b/drivers/gpu/drm/drm_displayid.c @@ -53,6 +53,12 @@ int drm_parse_display_id(struct drm_connector *connector, tile_v_loc = (tile->topo[1] & 0xf) | ((tile->topo[2] & 0x3) << 4); tile_h_loc = (tile->topo[1] >> 4) | (((tile->topo[2] >> 2) & 0x3) << 4); + connector->has_tile = true; + connector->num_h_tile = num_h_tile; + connector->num_v_tile = num_v_tile; + connector->tile_h_loc = tile_h_loc; + connector->tile_v_loc = tile_v_loc; + printk("tile cap %d\n", tile->tile_cap); printk("tile_size %d x %d\n", w, h); printk("topo num tiles %dx%d, location %dx%d\n", diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c index 3d805aa617c2..94e8a57b0ff9 100644 --- a/drivers/gpu/drm/drm_edid.c +++ b/drivers/gpu/drm/drm_edid.c @@ -3881,6 +3881,8 @@ void drm_get_displayid(struct drm_connector *connector, bool secondary) { void *displayid = NULL; + + connector->has_tile = false; displayid = drm_find_displayid_extension(edid); if (!displayid) { return; diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h index 1efc0076e87f..71fdc71e9ffd 100644 --- a/include/drm/drm_crtc.h +++ b/include/drm/drm_crtc.h @@ -564,6 +564,12 @@ struct drm_connector { unsigned bad_edid_counter; struct dentry *debugfs_entry; + + /* DisplayID bits */ + bool has_tile; + uint32_t tile_group_id; + uint8_t num_h_tile, num_v_tile; + uint8_t tile_h_loc, tile_v_loc; }; /** |