Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 333575
b: refs/heads/master
c: 484dc40
h: refs/heads/master
i:
  333573: 4e16e06
  333571: a68c7d6
  333567: c3ac1f2
v: v3
  • Loading branch information
Archit Taneja committed Sep 26, 2012
1 parent 51cd86b commit 1d3b891
Show file tree
Hide file tree
Showing 5 changed files with 84 additions and 2 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: fc22a84339d387203cc2a1685fb251a5ad4c9b43
refs/heads/master: 484dc404d233696ef65a8e676f9d4fe563b091ee
2 changes: 1 addition & 1 deletion trunk/drivers/video/omap2/dss/Makefile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
obj-$(CONFIG_OMAP2_DSS) += omapdss.o
omapdss-y := core.o dss.o dss_features.o dispc.o dispc_coefs.o display.o \
manager.o manager-sysfs.o overlay.o overlay-sysfs.o apply.o
manager.o manager-sysfs.o overlay.o overlay-sysfs.o output.o apply.o
omapdss-$(CONFIG_OMAP2_DSS_DPI) += dpi.o
omapdss-$(CONFIG_OMAP2_DSS_RFBI) += rfbi.o
omapdss-$(CONFIG_OMAP2_DSS_VENC) += venc.o venc_panel.o
Expand Down
4 changes: 4 additions & 0 deletions trunk/drivers/video/omap2/dss/dss.h
Original file line number Diff line number Diff line change
Expand Up @@ -226,6 +226,10 @@ int dss_ovl_set_manager(struct omap_overlay *ovl,
struct omap_overlay_manager *mgr);
int dss_ovl_unset_manager(struct omap_overlay *ovl);

/* output */
void dss_register_output(struct omap_dss_output *out);
void dss_unregister_output(struct omap_dss_output *out);

/* display */
int dss_suspend_all_devices(void);
int dss_resume_all_devices(void);
Expand Down
48 changes: 48 additions & 0 deletions trunk/drivers/video/omap2/dss/output.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
/*
* Copyright (C) 2012 Texas Instruments Ltd
* Author: Archit Taneja <archit@ti.com>
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 as published by
* the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <http://www.gnu.org/licenses/>.
*/

#include <linux/kernel.h>
#include <linux/platform_device.h>
#include <linux/slab.h>

#include <video/omapdss.h>

#include "dss.h"

static LIST_HEAD(output_list);

void dss_register_output(struct omap_dss_output *out)
{
list_add_tail(&out->list, &output_list);
}

void dss_unregister_output(struct omap_dss_output *out)
{
list_del(&out->list);
}

struct omap_dss_output *omap_dss_get_output(enum omap_dss_output_id id)
{
struct omap_dss_output *out;

list_for_each_entry(out, &output_list, list) {
if (out->id == id)
return out;
}

return NULL;
}
30 changes: 30 additions & 0 deletions trunk/include/video/omapdss.h
Original file line number Diff line number Diff line change
Expand Up @@ -208,6 +208,16 @@ enum omap_hdmi_flags {
OMAP_HDMI_SDA_SCL_EXTERNAL_PULLUP = 1 << 0,
};

enum omap_dss_output_id {
OMAP_DSS_OUTPUT_DPI = 1 << 0,
OMAP_DSS_OUTPUT_DBI = 1 << 1,
OMAP_DSS_OUTPUT_SDI = 1 << 2,
OMAP_DSS_OUTPUT_DSI1 = 1 << 3,
OMAP_DSS_OUTPUT_DSI2 = 1 << 4,
OMAP_DSS_OUTPUT_VENC = 1 << 5,
OMAP_DSS_OUTPUT_HDMI = 1 << 6,
};

/* RFBI */

struct rfbi_timings {
Expand Down Expand Up @@ -493,6 +503,24 @@ struct omap_dsi_pin_config {
int pins[OMAP_DSS_MAX_DSI_PINS];
};

struct omap_dss_output {
struct list_head list;

/* display type supported by the output */
enum omap_display_type type;

/* output instance */
enum omap_dss_output_id id;

/* output's platform device pointer */
struct platform_device *pdev;

/* dynamic fields */
struct omap_overlay_manager *manager;

struct omap_dss_device *device;
};

struct omap_dss_device {
struct device dev;

Expand Down Expand Up @@ -702,6 +730,8 @@ struct omap_overlay_manager *omap_dss_get_overlay_manager(int num);
int omap_dss_get_num_overlays(void);
struct omap_overlay *omap_dss_get_overlay(int num);

struct omap_dss_output *omap_dss_get_output(enum omap_dss_output_id id);

void omapdss_default_get_resolution(struct omap_dss_device *dssdev,
u16 *xres, u16 *yres);
int omapdss_default_get_recommended_bpp(struct omap_dss_device *dssdev);
Expand Down

0 comments on commit 1d3b891

Please sign in to comment.