From: Alan Cox <alan@lxorguk.ukuu.org.uk>
To: airlied@linux.ie, linux-kernel@vger.kernel.org
Subject: [PATCH 1/9] gma500: Initial support for our encoder and connector structs
Date: Mon, 19 Dec 2011 21:39:53 +0000 [thread overview]
Message-ID: <20111219213950.32042.20984.stgit@bob.linux.org.uk> (raw)
From: Patrik Jakobsson <patrik.r.jakobsson@gmail.com>
First step towards adding i915 alike encoder and connector abstractions. This
will make life easier when adding i915 output code into our driver. It also
removes the old psb_intel_output struct.
Signed-off-by: Patrik Jakobsson <patrik.r.jakobsson@gmail.com>
Signed-off-by: Alan Cox <alan@linux.intel.com>
---
drivers/gpu/drm/gma500/psb_intel_display.c | 7 +++++
drivers/gpu/drm/gma500/psb_intel_drv.h | 40 ++++++++++++++++++----------
2 files changed, 32 insertions(+), 15 deletions(-)
diff --git a/drivers/gpu/drm/gma500/psb_intel_display.c b/drivers/gpu/drm/gma500/psb_intel_display.c
index ab65076..43cc132 100644
--- a/drivers/gpu/drm/gma500/psb_intel_display.c
+++ b/drivers/gpu/drm/gma500/psb_intel_display.c
@@ -1429,3 +1429,10 @@ struct drm_encoder *psb_intel_best_encoder(struct drm_connector *connector)
return &psb_intel_output->enc;
}
+void psb_intel_connector_attach_encoder(struct psb_intel_connector *connector,
+ struct psb_intel_encoder *encoder)
+{
+ connector->encoder = encoder;
+ drm_mode_connector_attach_encoder(&connector->base,
+ &encoder->base);
+}
diff --git a/drivers/gpu/drm/gma500/psb_intel_drv.h b/drivers/gpu/drm/gma500/psb_intel_drv.h
index ac953ca..a4435d8 100644
--- a/drivers/gpu/drm/gma500/psb_intel_drv.h
+++ b/drivers/gpu/drm/gma500/psb_intel_drv.h
@@ -93,19 +93,19 @@ struct psb_intel_i2c_chan {
u8 slave_addr;
};
-struct psb_intel_output {
- struct drm_connector base;
-
- struct drm_encoder enc;
+struct psb_intel_encoder {
+ struct drm_encoder base;
int type;
+ bool needs_tv_clock;
+ void (*hot_plug)(struct psb_intel_encoder *);
+ int crtc_mask;
+ int clone_mask;
+ void *dev_priv; /* For sdvo_priv, lvds_priv, etc... */
+};
- struct psb_intel_i2c_chan *i2c_bus; /* for control functions */
- struct psb_intel_i2c_chan *ddc_bus; /* for DDC only stuff */
- bool load_detect_temp;
- void *dev_priv;
-
- struct psb_intel_mode_device *mode_dev;
- struct i2c_adapter *hdmi_i2c_adapter; /* for control functions */
+struct psb_intel_connector {
+ struct drm_connector base;
+ struct psb_intel_encoder *encoder;
};
struct psb_intel_crtc_state {
@@ -156,10 +156,10 @@ struct psb_intel_crtc {
#define to_psb_intel_crtc(x) \
container_of(x, struct psb_intel_crtc, base)
-#define to_psb_intel_output(x) \
- container_of(x, struct psb_intel_output, base)
-#define enc_to_psb_intel_output(x) \
- container_of(x, struct psb_intel_output, enc)
+#define to_psb_intel_connector(x) \
+ container_of(x, struct psb_intel_connector, base)
+#define to_psb_intel_encoder(x) \
+ container_of(x, struct psb_intel_encoder, base)
#define to_psb_intel_framebuffer(x) \
container_of(x, struct psb_intel_framebuffer, base)
@@ -190,6 +190,16 @@ extern void psb_intel_crtc_load_lut(struct drm_crtc *crtc);
extern void psb_intel_encoder_prepare(struct drm_encoder *encoder);
extern void psb_intel_encoder_commit(struct drm_encoder *encoder);
+static inline struct psb_intel_encoder *psb_intel_attached_encoder(
+ struct drm_connector *connector)
+{
+ return to_psb_intel_connector(connector)->encoder;
+}
+
+extern void psb_intel_connector_attach_encoder(
+ struct psb_intel_connector *connector,
+ struct psb_intel_encoder *encoder);
+
extern struct drm_encoder *psb_intel_best_encoder(struct drm_connector
*connector);
next reply other threads:[~2011-12-19 21:27 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-12-19 21:39 Alan Cox [this message]
2011-12-19 21:40 ` [PATCH 2/9] gma500: Remove psb_intel_output from ddc_probe and ddc_get_modes Alan Cox
2011-12-19 21:40 ` [PATCH 3/9] gma500: Fix encoder type checking for connectors Alan Cox
2011-12-19 21:40 ` [PATCH 4/9] gma500: Convert PSB LVDS to new output handling Alan Cox
2011-12-19 21:40 ` [PATCH 5/9] gma500: Add support for Intel GMBUS Alan Cox
2011-12-19 21:41 ` [PATCH 6/9] gma500: Replace SDVO code with slightly modified version from i915 Alan Cox
2011-12-19 21:41 ` [PATCH 7/9] gma500: Convert Cedarview to work with new output handling Alan Cox
2011-12-19 21:41 ` [PATCH 8/9] gma500: Convert Oaktrail " Alan Cox
2011-12-19 21:41 ` [PATCH 9/9] gma500: SDVO DDC bus guessing isn't working so hardcode it instead Alan Cox
2011-12-20 10:27 ` [PATCH 1/9] gma500: Initial support for our encoder and connector structs Dave Airlie
-- strict thread matches above, loose matches on Subject: below --
2011-12-07 18:26 [PATCH 0/9] gma500: Fix SDVO DDC probing on Poulsbo Patrik Jakobsson
2011-12-07 18:26 ` [PATCH 1/9] gma500: Initial support for our encoder and connector structs Patrik Jakobsson
2011-10-27 22:02 [PATCH 0/9] Split psb_intel_output to encoders and connectors Patrik Jakobsson
2011-10-27 22:02 ` [PATCH 1/9] gma500: Initial support for our encoder and connector structs Patrik Jakobsson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20111219213950.32042.20984.stgit@bob.linux.org.uk \
--to=alan@lxorguk.ukuu.org.uk \
--cc=airlied@linux.ie \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.