diff options
author | Jani Nikula <jani.nikula@intel.com> | 2013-10-08 21:15:29 +0300 |
---|---|---|
committer | Rodrigo Vivi <rodrigo.vivi@gmail.com> | 2013-10-21 09:42:50 -0200 |
commit | 419d053fd628b66fe0d838642ced6e9980f6282b (patch) | |
tree | 5feac76a2ef98d5b013000051f068c8bc4c6d131 /tools/intel_bios_reader.c | |
parent | a4180df32a74c8aaa7a58e1cf60d240905e01852 (diff) |
intel_bios_reader: dump all edp device info structs
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Diffstat (limited to 'tools/intel_bios_reader.c')
-rw-r--r-- | tools/intel_bios_reader.c | 165 |
1 files changed, 93 insertions, 72 deletions
diff --git a/tools/intel_bios_reader.c b/tools/intel_bios_reader.c index 30c34705..121e3040 100644 --- a/tools/intel_bios_reader.c +++ b/tools/intel_bios_reader.c @@ -535,79 +535,100 @@ static void dump_driver_feature(const struct bdb_block *block) static void dump_edp(const struct bdb_block *block) { struct bdb_edp *edp = block->data; - int bpp; - - printf("\tPanel type %d\n", panel_type); - printf("\tPower Sequence: T3 %d T7 %d T9 %d T10 %d T12 %d\n", - edp->power_seqs[panel_type].t3, - edp->power_seqs[panel_type].t7, - edp->power_seqs[panel_type].t9, - edp->power_seqs[panel_type].t10, - edp->power_seqs[panel_type].t12); - - bpp = (edp->color_depth >> (panel_type * 2)) & 3; - - printf("\tPanel color depth: "); - switch (bpp) { - case EDP_18BPP: - printf("18bpp\n"); - break; - case EDP_24BPP: - printf("24bpp\n"); - break; - case EDP_30BPP: - printf("30bpp\n"); - break; - } + int bpp, msa; + int i; - printf("\teDP sDRRs MSA timing delay: %d\n", edp->sdrrs_msa_timing_delay); - printf("\tLink params:\n"); - printf("\t\trate: "); - if (edp->link_params[panel_type].rate == EDP_RATE_1_62) - printf("1.62G\n"); - else if (edp->link_params[panel_type].rate == EDP_RATE_2_7) - printf("2.7G\n"); - printf("\t\tlanes: "); - switch (edp->link_params[panel_type].lanes) { - case EDP_LANE_1: - printf("x1 mode\n"); - break; - case EDP_LANE_2: - printf("x2 mode\n"); - break; - case EDP_LANE_4: - printf("x4 mode\n"); - break; - } - printf("\t\tpre-emphasis: "); - switch (edp->link_params[panel_type].preemphasis) { - case EDP_PREEMPHASIS_NONE: - printf("none\n"); - break; - case EDP_PREEMPHASIS_3_5dB: - printf("3.5dB\n"); - break; - case EDP_PREEMPHASIS_6dB: - printf("6dB\n"); - break; - case EDP_PREEMPHASIS_9_5dB: - printf("9.5dB\n"); - break; - } - printf("\t\tvswing: "); - switch (edp->link_params[panel_type].vswing) { - case EDP_VSWING_0_4V: - printf("0.4V\n"); - break; - case EDP_VSWING_0_6V: - printf("0.6V\n"); - break; - case EDP_VSWING_0_8V: - printf("0.8V\n"); - break; - case EDP_VSWING_1_2V: - printf("1.2V\n"); - break; + for (i = 0; i < 16; i++) { + printf("\tPanel %d%s\n", i, panel_type == i ? " *" : ""); + + printf("\t\tPower Sequence: T3 %d T7 %d T9 %d T10 %d T12 %d\n", + edp->power_seqs[i].t3, + edp->power_seqs[i].t7, + edp->power_seqs[i].t9, + edp->power_seqs[i].t10, + edp->power_seqs[i].t12); + + bpp = (edp->color_depth >> (i * 2)) & 3; + + printf("\t\tPanel color depth: "); + switch (bpp) { + case EDP_18BPP: + printf("18 bpp\n"); + break; + case EDP_24BPP: + printf("24 bpp\n"); + break; + case EDP_30BPP: + printf("30 bpp\n"); + break; + default: + printf("(unknown value %d)\n", bpp); + break; + } + + msa = (edp->sdrrs_msa_timing_delay >> (i * 2)) & 3; + printf("\t\teDP sDRRS MSA Delay: Lane %d\n", msa + 1); + + printf("\t\tLink params:\n"); + printf("\t\t\trate: "); + if (edp->link_params[i].rate == EDP_RATE_1_62) + printf("1.62G\n"); + else if (edp->link_params[i].rate == EDP_RATE_2_7) + printf("2.7G\n"); + printf("\t\t\tlanes: "); + switch (edp->link_params[i].lanes) { + case EDP_LANE_1: + printf("x1 mode\n"); + break; + case EDP_LANE_2: + printf("x2 mode\n"); + break; + case EDP_LANE_4: + printf("x4 mode\n"); + break; + default: + printf("(unknown value %d)\n", + edp->link_params[i].lanes); + break; + } + printf("\t\t\tpre-emphasis: "); + switch (edp->link_params[i].preemphasis) { + case EDP_PREEMPHASIS_NONE: + printf("none\n"); + break; + case EDP_PREEMPHASIS_3_5dB: + printf("3.5dB\n"); + break; + case EDP_PREEMPHASIS_6dB: + printf("6dB\n"); + break; + case EDP_PREEMPHASIS_9_5dB: + printf("9.5dB\n"); + break; + default: + printf("(unknown value %d)\n", + edp->link_params[i].preemphasis); + break; + } + printf("\t\t\tvswing: "); + switch (edp->link_params[i].vswing) { + case EDP_VSWING_0_4V: + printf("0.4V\n"); + break; + case EDP_VSWING_0_6V: + printf("0.6V\n"); + break; + case EDP_VSWING_0_8V: + printf("0.8V\n"); + break; + case EDP_VSWING_1_2V: + printf("1.2V\n"); + break; + default: + printf("(unknown value %d)\n", + edp->link_params[i].vswing); + break; + } } } |