Thread (4 messages) 4 messages, 3 authors, 2006-06-17

Re: soliciting feedback/direction on DDC support

From: "Antonino A. Daplas" <adaplas@gmail.com>
Date: 2006-06-14 21:44:59

Dennis Munsie wrote:
hi everyone,

now that I have the I2C bus support in the intelfb driver, I would  
like to use it for the reading the EDID block.  And actually, I've  
tested it and it works just fine.

but... the way it does it is basically the same as the aty driver.   
Which leads to an ugly mess of copy and pasting code from one driver  
to another.  Not ideal at all.

So, I was thinking of making it generic and sticking it in fbmon.c  
(or someplace similar).  But, to do it properly, I need to fiddle  
with fields in the i2c_algo_bit_data struct.  Ideally, I would want  
to make sure that the adapter that's passed in is using the i2c-algo- 
bit algorithm.  But, to do this would require exposing functionality  
from the i2c algorithm, which seems dirty.

Normally I wouldn't need to do this, but it looks like the aty code  
was accommodating older monitors that might not have implemented  
everything to spec.  And therefore, it looks like they took to do a  
little bit banging themselves.

I've managed to make the aty functionality generic to a point -- it  
doesn't fiddle the registers directly, but uses the routines defined  
for that purpose -- but not as generic as I would ideally like.

At this point, I'll probably still separate out the functionality,  
but I won't feel comfortable submitting it upstream until the issues  
of being safe and completely generic are resolved.

I really don't want this functionality to drop on the floor or be  
implemented directly (like the other drivers) in the intelfb driver,  
so any feedback would be greatly appreciated.  It might just be that  
I'm completely missing something here.
I don't see a problem making this generic.  For drivers such as radeonfb,
we can add addtional hooks such as

fb_ddc_pre_read() - hack before probing
fb_ddc_post_read() - hack after probing
fb_ddc_stop_read() - hack after everything is done

to accommodate the hacks.

Tony
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help