drivers: video: tegra: Add blacklist for a user TV
[linux-3.10.git] / drivers / video / tegra / dc / edid_quirks.c
1 /*
2  * drivers/video/tegra/dc/edid_quirks.c
3  *
4  * Copyright (c) 2015, NVIDIA CORPORATION, All rights reserved.
5  * Author: Anshuman Nath Kar <anshumank@nvidia.com>
6  *
7  * This software is licensed under the terms of the GNU General Public
8  * License version 2, as published by the Free Software Foundation, and
9  * may be copied, distributed, and modified under those terms.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  */
16
17 #include "edid.h"
18
19 static const struct hdmi_blacklist {
20         char manufacturer[4];
21         u32 model;
22         char monitor[14];
23         u32 quirks;
24 } edid_blacklist[] = {
25         /* Bauhn ATVS65-815 65" 4K TV */
26         { "CTV", 48, "Tempo 4K TV", TEGRA_EDID_QUIRK_NO_YUV },
27 };
28
29 u32 tegra_edid_lookup_quirks(const char *manufacturer, u32 model,
30         const char *monitor)
31 {
32         int i;
33
34         for (i = 0; i < ARRAY_SIZE(edid_blacklist); i++)
35                 if (!strcmp(edid_blacklist[i].manufacturer, manufacturer) &&
36                         edid_blacklist[i].model == model &&
37                         !strcmp(edid_blacklist[i].monitor, monitor))
38                         return edid_blacklist[i].quirks;
39
40         return TEGRA_EDID_QUIRK_NONE;
41 }