Re: [PATCH 2.6.17-1] fbmon: add generic ddc read functionality
From: "Antonino A. Daplas" <adaplas@gmail.com>
Date: 2006-07-16 03:25:31
Subsystem:
framebuffer layer, the rest · Maintainers:
Helge Deller, Linus Torvalds
Dennis Munsie wrote:
I've attached both patches -- the fb-ddc-read.patch adds the generic ddc functionality, and the other patches the radeonfb driver to use the generic functionality instead. There are other drivers that should be patched to use the generic functionality as well, but since I didn't have any other cards to test with, I just did the patch for the radeon (and intelfb as well, but that's not ready yet). dennis On Jul 15, 2006, at 9:15 AM, Antonino A. Daplas wrote:quoted
Dennis Munsie wrote:quoted
did anyone have any problems with this patch? Just wondering if it was going to be flipped upstream or if I need to make some changes to it.
And here's the updated nvidiafb driver... Tony nvidiafb: Use generic DDC reading Update driver to use generic DDC reading Signed-off-by: Antonino Daplas <redacted> --- drivers/video/Kconfig | 1 + drivers/video/nvidia/nv_i2c.c | 45 +++-------------------------------------- 2 files changed, 4 insertions(+), 42 deletions(-)
diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig
index 8846262..215ad28 100644
--- a/drivers/video/Kconfig
+++ b/drivers/video/Kconfig@@ -699,6 +699,7 @@ config FB_NVIDIA depends on FB && PCI select I2C_ALGOBIT if FB_NVIDIA_I2C select I2C if FB_NVIDIA_I2C + select FB_DDC if FB_NVIDIA_I2C select FB_MODE_HELPERS select FB_CFB_FILLRECT select FB_CFB_COPYAREA
diff --git a/drivers/video/nvidia/nv_i2c.c b/drivers/video/nvidia/nv_i2c.c
index 19eef3a..e48de3c 100644
--- a/drivers/video/nvidia/nv_i2c.c
+++ b/drivers/video/nvidia/nv_i2c.c@@ -160,51 +160,12 @@ void nvidia_delete_i2c_busses(struct nvi } -static u8 *nvidia_do_probe_i2c_edid(struct nvidia_i2c_chan *chan) -{ - u8 start = 0x0; - struct i2c_msg msgs[] = { - { - .addr = 0x50, - .len = 1, - .buf = &start, - }, { - .addr = 0x50, - .flags = I2C_M_RD, - .len = EDID_LENGTH, - }, - }; - u8 *buf; - - if (!chan->par) - return NULL; - - buf = kmalloc(EDID_LENGTH, GFP_KERNEL); - if (!buf) { - dev_warn(&chan->par->pci_dev->dev, "Out of memory!\n"); - return NULL; - } - msgs[1].buf = buf; - - if (i2c_transfer(&chan->adapter, msgs, 2) == 2) - return buf; - dev_dbg(&chan->par->pci_dev->dev, "Unable to read EDID block.\n"); - kfree(buf); - return NULL; -} - int nvidia_probe_i2c_connector(struct fb_info *info, int conn, u8 **out_edid) { struct nvidia_par *par = info->par; - u8 *edid = NULL; - int i; - - for (i = 0; i < 3; i++) { - /* Do the real work */ - edid = nvidia_do_probe_i2c_edid(&par->chan[conn - 1]); - if (edid) - break; - } + u8 *edid; + + edid = fb_ddc_read(&par->chan[conn - 1].adapter); if (!edid && conn == 1) { /* try to get from firmware */ -------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642