diff options
author | Alan Hourihane <alanh@tungstengraphics.com> | 2008-07-07 15:11:48 +0100 |
---|---|---|
committer | Alan Hourihane <alanh@tungstengraphics.com> | 2008-07-07 15:11:48 +0100 |
commit | 0b7d9a97bd2383fe4382fc1b1b266542020f0c4e (patch) | |
tree | 405a42daea89466e083a85ee66606015d2bb9260 | |
parent | d5d3f31b108c8514a820bb50a5736ba06fc33275 (diff) |
Synchronize the DDC EDID read to it's fb_ddc.c counterpart
-rw-r--r-- | linux-core/drm_edid.c | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/linux-core/drm_edid.c b/linux-core/drm_edid.c index a3d9861f..07894720 100644 --- a/linux-core/drm_edid.c +++ b/linux-core/drm_edid.c @@ -595,21 +595,13 @@ static unsigned char *drm_ddc_read(struct i2c_adapter *adapter) unsigned char *edid = NULL; int i, j; - /* - * Startup the bus: - * Set clock line high (but give it time to come up) - * Then set clock & data low - */ algo_data->setscl(algo_data->data, 1); - udelay(550); /* startup delay */ - algo_data->setscl(algo_data->data, 0); - algo_data->setsda(algo_data->data, 0); for (i = 0; i < 3; i++) { /* For some old monitors we need the * following process to initialize/stop DDC */ - algo_data->setsda(algo_data->data, 0); + algo_data->setsda(algo_data->data, 1); msleep(13); algo_data->setscl(algo_data->data, 1); @@ -644,6 +636,7 @@ static unsigned char *drm_ddc_read(struct i2c_adapter *adapter) algo_data->setsda(algo_data->data, 1); msleep(15); algo_data->setscl(algo_data->data, 0); + algo_data->setsda(algo_data->data, 0); if (edid) break; } |