summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRussell King <rmk@armlinux.org.uk>2017-02-24 23:50:06 +0000
committerRussell King <rmk@armlinux.org.uk>2017-02-25 17:16:13 +0000
commitc9038ea414b01c4e426599029701526793fd2fe3 (patch)
tree13e6aaa2bbc7fd8b9c00137f1d5f4cb99b51f29f /src
parent3414df521507838645d720e6fb67036381ae5aae (diff)
src: Xv: pull out property initialisation
Pull out the property initialisation code from armada_drm_XvInit() to reduce indentation. Signed-off-by: Russell King <rmk@armlinux.org.uk>
Diffstat (limited to 'src')
-rw-r--r--src/armada_drm_xv.c32
1 files changed, 19 insertions, 13 deletions
diff --git a/src/armada_drm_xv.c b/src/armada_drm_xv.c
index 6a51e74..2ae231f 100644
--- a/src/armada_drm_xv.c
+++ b/src/armada_drm_xv.c
@@ -1080,6 +1080,23 @@ static struct drm_armada_bo *armada_drm_import_accel_name(ScrnInfoPtr pScrn,
return bo;
}
+static void armada_drm_property_setup(struct drm_xv *drmxv,
+ drmModePropertyPtr prop, uint64_t value)
+{
+ unsigned int i;
+
+ for (i = 0; i < NR_DRM_PROPS; i++) {
+ if (drmxv->props[i].prop_id)
+ continue;
+
+ if (strcmp(prop->name, armada_drm_property_names[i]) == 0) {
+ drmxv->props[i].prop_id = prop->prop_id;
+ drmxv->props[i].value = value;
+ break;
+ }
+ }
+}
+
Bool armada_drm_XvInit(ScrnInfoPtr pScrn)
{
ScreenPtr scrn = screenInfo.screens[pScrn->scrnIndex];
@@ -1139,24 +1156,13 @@ Bool armada_drm_XvInit(ScrnInfoPtr pScrn)
for (j = 0; j < props->count_props; j++) {
drmModePropertyPtr prop;
- unsigned k;
prop = drmModeGetProperty(drmxv->fd, props->props[j]);
if (!prop)
continue;
- for (k = 0; k < NR_DRM_PROPS; k++) {
- const char *name = armada_drm_property_names[k];
- if (drmxv->props[k].prop_id)
- continue;
-
- if (strcmp(prop->name, name) == 0) {
- drmxv->props[k].prop_id = prop->prop_id;
- drmxv->props[k].value = props->prop_values[j];
- break;
- }
- }
-
+ armada_drm_property_setup(drmxv, prop,
+ props->prop_values[j]);
drmModeFreeProperty(prop);
}
drmModeFreeObjectProperties(props);