Merge "Keep ADF device alive for the lifetime of the minui backend" am: 14352497f0 am: 32c2e78726

am: 0cc7e28ffd

* commit '0cc7e28ffd00cff661d0120e9365b7bfa9bec533':
  Keep ADF device alive for the lifetime of the minui backend

Change-Id: I3ff57ca546aa6d88a73d9ccf986af8e08fa4ee6e
This commit is contained in:
Jonathan Hamilton
2016-05-12 17:39:20 +00:00
committed by android-build-merger
+8 -6
View File
@@ -42,6 +42,8 @@ struct adf_pdata {
adf_id_t eng_id;
__u32 format;
adf_device dev;
unsigned int current_surface;
unsigned int n_surfaces;
adf_surface_pdata surfaces[2];
@@ -163,21 +165,20 @@ static GRSurface* adf_init(minui_backend *backend)
pdata->intf_fd = -1;
for (i = 0; i < n_dev_ids && pdata->intf_fd < 0; i++) {
adf_device dev;
int err = adf_device_open(dev_ids[i], O_RDWR, &dev);
int err = adf_device_open(dev_ids[i], O_RDWR, &pdata->dev);
if (err < 0) {
fprintf(stderr, "opening adf device %u failed: %s\n", dev_ids[i],
strerror(-err));
continue;
}
err = adf_device_init(pdata, &dev);
if (err < 0)
err = adf_device_init(pdata, &pdata->dev);
if (err < 0) {
fprintf(stderr, "initializing adf device %u failed: %s\n",
dev_ids[i], strerror(-err));
adf_device_close(&dev);
adf_device_close(&pdata->dev);
}
}
free(dev_ids);
@@ -226,6 +227,7 @@ static void adf_exit(minui_backend *backend)
adf_pdata *pdata = (adf_pdata *)backend;
unsigned int i;
adf_device_close(&pdata->dev);
for (i = 0; i < pdata->n_surfaces; i++)
adf_surface_destroy(&pdata->surfaces[i]);
if (pdata->intf_fd >= 0)