[Linux-gfx] Re: [PATCH 1/5] handle extenion for detail timing block

Ma, Ling ling.ma at intel.com
Wed Nov 19 05:46:34 PST 2008


hi ajax
>This just walks over the base block, walking from 0 to (det_mon_num-1)
>is wrong since det_mon_num will count detailed blocks found in 
>extension
>blocks.  Should just drop the changes to this function.

sorry, I don't understand your meaning clearly. I modified get_dt_md_section to fill detailed timing block in GetCEADEtailTiming.
In fact det_mon_num passed to get_dt_md_section  in GetCEADEtailTiming  always be 1.

+static int GetCEADetailTiming(Uchar *blk, xf86MonPtr mon,
+                              struct detailed_monitor_section *det_mon)
+		        
+{
+    int det_mon_num;
+    int dt_offset = ((struct cea_ext_body *)blk)->dt_offset;
+
+    det_mon_num = 0;
+
+    if (dt_offset < CEA_EXT_MIN_DATA_OFFSET)
+        return det_mon_num;
+
+    while (dt_offset < (CEA_EXT_MAX_DATA_OFFSET - DET_TIMING_INFO_LEN) &&
+           det_mon_num < CEA_EXT_DET_TIMING_NUM) { 
+        get_dt_md_section(blk + dt_offset, &mon->ver, 
+                          det_mon + det_mon_num, 1);
+
+        det_mon_num = det_mon_num + 1 ;
+
+        _NEXT_DT_MD_SECTION(dt_offset);
+    }
+
+    return det_mon_num;
+}
+

Thanks
Ma Ling  

>-----Original Message-----
>From: linux-gfx-bounces at linux.intel.com 
>[mailto:linux-gfx-bounces at linux.intel.com] On Behalf Of Adam Jackson
>Sent: 2008年11月19日 4:44
>To: Ma, Ling
>Cc: linux-gfx at linux.intel.com; xorg at lists.freedesktop.org
>Subject: [Linux-gfx] Re: [PATCH 1/5] handle extenion for 
>detail timing block
>
>On Mon, 2008-11-17 at 16:33 +0800, ling.ma at intel.com wrote:
>> From: MaLing<ling.ma at intel.com>
>
>> +struct hdmi {
>> +  Uchar  Support_flags;
>> +  Uchar  Max_TMDS_Clock;
>> +  Uchar  Latency_Present;
>> +  Uchar  Video_Latency;
>> +  Uchar  Audio_Latency;
>> +  Uchar  Interlaced_Video_Latency;
>> +  Uchar  Interlaced_Audio_Latency;
>> +};
>
>Please, CamelCase or underscore_separated_names, but Not_Both.
>
>> @@ -286,11 +381,11 @@ get_std_timing_section(Uchar *c, 
>struct std_timings *r,
>>  
>>  static void
>>  get_dt_md_section(Uchar *c, struct edid_version *ver, 
>> -		  struct detailed_monitor_section *det_mon)
>> +                  struct detailed_monitor_section *det_mon, 
>int det_mon_num)
>>  {
>>    int i;
>>   
>> -  for (i=0;i<DET_TIMINGS;i++) {  
>> +  for (i=0;i<det_mon_num;i++) {  
>>      if (ver->version == 1 && ver->revision >= 1 && 
>IS_MONITOR_DESC) {
>>  
>>        switch (MONITOR_DESC_TYPE) {
>
>This just walks over the base block, walking from 0 to (det_mon_num-1)
>is wrong since det_mon_num will count detailed blocks found in 
>extension
>blocks.  Should just drop the changes to this function.
>
>- ajax
>


More information about the xorg mailing list