if I am doing the math to convert between cea_vesa_timings table and the drm timings printed out in the trace, I think this is what is being picked..
I'm not sure if there is a way to force CEA 720p vs VESA 720p? For a quick test to verify this is the issue, you could just alter the last row in the table to make it not match, so one of the other 1280x720p modes is picked. (ie change pixel clock to -1 or something like that)
one thought.. I noticed there is a 1280x720 VESA mode:
static const struct hdmi_timings cea_vesa_ timings[ OMAP_HDMI_ TIMINGS_ NB] = {
...
/* VESA From Here */
...
{ {1280, 720, 74250, 40, 110, 220, 5, 5, 20}, 1, 1}
};
I think this is what it is picking when you force 720x1280 in the bootargs:
[ 4.743347] [drm:drm_ mode_debug_ printmodeline] , Modeline 15: "1280x720" 60 74250 1280 1390 1430 1650 720 725 730 750 0x40 0x5
if I am doing the math to convert between cea_vesa_timings table and the drm timings printed out in the trace, I think this is what is being picked..
I'm not sure if there is a way to force CEA 720p vs VESA 720p? For a quick test to verify this is the issue, you could just alter the last row in the table to make it not match, so one of the other 1280x720p modes is picked. (ie change pixel clock to -1 or something like that)