mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-18 09:44:18 +08:00
savagefb: Set up I2C based on chip family instead of card id
In practice this means enabling I2C (for DDC2) on all prosavage cards, like the xorg ddx does. The savage4 and savage2000 families have only one member each, so there is no change for those. Tested on TwisterK. Signed-off-by: Tormod Volden <debian.tormod@gmail.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
This commit is contained in:
parent
a564d301e9
commit
21cd72e7cb
@ -170,9 +170,8 @@ void savagefb_create_i2c_busses(struct fb_info *info)
|
||||
struct savagefb_par *par = info->par;
|
||||
par->chan.par = par;
|
||||
|
||||
switch(info->fix.accel) {
|
||||
case FB_ACCEL_PROSAVAGE_DDRK:
|
||||
case FB_ACCEL_PROSAVAGE_PM:
|
||||
switch (par->chip) {
|
||||
case S3_PROSAVAGE:
|
||||
par->chan.reg = CR_SERIAL2;
|
||||
par->chan.ioaddr = par->mmio.vbase;
|
||||
par->chan.algo.setsda = prosavage_gpio_setsda;
|
||||
@ -180,7 +179,7 @@ void savagefb_create_i2c_busses(struct fb_info *info)
|
||||
par->chan.algo.getsda = prosavage_gpio_getsda;
|
||||
par->chan.algo.getscl = prosavage_gpio_getscl;
|
||||
break;
|
||||
case FB_ACCEL_SAVAGE4:
|
||||
case S3_SAVAGE4:
|
||||
par->chan.reg = CR_SERIAL1;
|
||||
if (par->pcidev->revision > 1 && !(VGArCR(0xa6, par) & 0x40))
|
||||
par->chan.reg = CR_SERIAL2;
|
||||
@ -190,7 +189,7 @@ void savagefb_create_i2c_busses(struct fb_info *info)
|
||||
par->chan.algo.getsda = prosavage_gpio_getsda;
|
||||
par->chan.algo.getscl = prosavage_gpio_getscl;
|
||||
break;
|
||||
case FB_ACCEL_SAVAGE2000:
|
||||
case S3_SAVAGE2000:
|
||||
par->chan.reg = MM_SERIAL1;
|
||||
par->chan.ioaddr = par->mmio.vbase;
|
||||
par->chan.algo.setsda = savage4_gpio_setsda;
|
||||
|
Loading…
Reference in New Issue
Block a user