blob: a4fb07b5b473e17b82cc66cfd6fad21dc4a0a6cb [file] [log] [blame]
Stéphane Marchesin25a26062014-09-12 16:18:59 -07001/*
2 * Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
3 * Use of this source code is governed by a BSD-style license that can be
4 * found in the LICENSE file.
5 */
6
Gurchetan Singh46faf6b2016-08-05 14:40:07 -07007#include "drv_priv.h"
Stéphane Marchesin25a26062014-09-12 16:18:59 -07008#include "helpers.h"
Gurchetan Singh179687e2016-10-28 10:07:35 -07009#include "util.h"
Stéphane Marchesin25a26062014-09-12 16:18:59 -070010
Gurchetan Singh179687e2016-10-28 10:07:35 -070011static struct supported_combination combos[4] = {
Gurchetan Singh458976f2016-11-23 17:32:33 -080012 {DRM_FORMAT_ARGB8888, DRM_FORMAT_MOD_NONE, BO_USE_CURSOR | BO_USE_LINEAR},
13 {DRM_FORMAT_ARGB8888, DRM_FORMAT_MOD_NONE, BO_USE_RENDERING},
14 {DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_NONE, BO_USE_CURSOR | BO_USE_LINEAR},
15 {DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_NONE, BO_USE_RENDERING},
Gurchetan Singh179687e2016-10-28 10:07:35 -070016};
17
18static int udl_init(struct driver *drv)
19{
20 drv_insert_combinations(drv, combos, ARRAY_SIZE(combos));
21 return drv_add_kms_flags(drv);
22}
23
24struct backend backend_udl =
Stéphane Marchesin25a26062014-09-12 16:18:59 -070025{
26 .name = "udl",
Gurchetan Singh179687e2016-10-28 10:07:35 -070027 .init = udl_init,
Gurchetan Singh46faf6b2016-08-05 14:40:07 -070028 .bo_create = drv_dumb_bo_create,
29 .bo_destroy = drv_dumb_bo_destroy,
Gurchetan Singhef920532016-08-12 16:38:25 -070030 .bo_map = drv_dumb_bo_map,
Stéphane Marchesin25a26062014-09-12 16:18:59 -070031};