A6J have LCD, CRT, TV-Out AND DVI ... So /proc/acpi/asus/disp work like this : +-------+-----+-----+-----+-----+-----+ | Bin | Val | DVI | TV | CRT | LCD | +-------+-----+-----+-----+-----+-----+ + 0000 + 0 + + + + + +-------+-----+-----+-----+-----+-----+ + 0001 + 1 + + + + X + +-------+-----+-----+-----+-----+-----+ + 0010 + 2 + + + X + + +-------+-----+-----+-----+-----+-----+ + 0011 + 3 + + + X + X + +-------+-----+-----+-----+-----+-----+ + 0100 + 4 + + X + + + +-------+-----+-----+-----+-----+-----+ + 0101 + 5 + + X + + X + +-------+-----+-----+-----+-----+-----+ + 0110 + 6 + + X + X + + +-------+-----+-----+-----+-----+-----+ + 0111 + 7 + + X + X + X + +-------+-----+-----+-----+-----+-----+ + 1000 + 8 + X + + + + +-------+-----+-----+-----+-----+-----+ + 1001 + 9 + X + + + X + +-------+-----+-----+-----+-----+-----+ + 1010 + 10 + X + + X + + +-------+-----+-----+-----+-----+-----+ + 1011 + 11 + X + + X + X + +-------+-----+-----+-----+-----+-----+ + 1100 + 12 + X + X + + + +-------+-----+-----+-----+-----+-----+ + 1101 + 13 + X + X + + X + +-------+-----+-----+-----+-----+-----+ + 1110 + 14 + X + X + X + + +-------+-----+-----+-----+-----+-----+ + 1111 + 15 + X + X + X + X + +-------+-----+-----+-----+-----+-----+ it should be the same with all ASUS with DVI. I will see this week, a friend have another ASUS with DVI ... --- linux-2.6.19-rc5/drivers/acpi/asus_acpi.c 2006-11-08 03:24:20.000000000 +0100 +++ linux-2.6.19-rc5-ik/drivers/acpi/asus_acpi.c 2006-11-12 12:03:04.000000000 +0100 @@ -121,6 +121,7 @@ A1x = 0, //A1340D, A1300F A2x, //A2500H A4G, //A4700G + A6J, //A6J D1x, //D1 L2D, //L2000D L3C, //L3800C @@ -193,6 +194,18 @@ .display_get = "\\ADVG"}, { + .name = "A6J", + .mt_mled = "MLED", + .mt_wled = "WLED", + .mt_bt_switch = "BLED", + .mt_lcd_switch = xxN_PREFIX "_Q10", + .lcd_status = "\\GPL0", + .brightness_set = "SPLV", + .brightness_get = "GPLV", + .display_set = "SDSP", + .display_get = "\\SETD"}, + + { .name = "D1x", .mt_mled = "MLED", .mt_lcd_switch = "\\Q0D", @@ -700,6 +713,8 @@ if (hotk->model == L2D) lcd = ~lcd; + else if (hotk->model == A6J) + lcd = lcd >> 6; } else { /* L3H and the like have to be handled differently */ acpi_status status = 0; struct acpi_object_list input; @@ -873,14 +888,19 @@ if (!read_acpi_int(hotk->handle, hotk->methods->display_get, &value)) printk(KERN_WARNING "Asus ACPI: Error reading display status\n"); - value &= 0x07; /* needed for some models, shouldn't hurt others */ + + if(hotk->model == A6J) + value &= 0x0F; /* A6J use 4bit, last for DVI */ + else + value &= 0x07; /* needed for some models, shouldn't hurt others */ + return sprintf(page, "%d\n", value); } /* * Experimental support for display switching. As of now: 1 should activate - * the LCD output, 2 should do for CRT, and 4 for TV-Out. Any combination - * (bitwise) of these will suffice. I never actually tested 3 displays hooked up + * the LCD output, 2 should do for CRT, 4 for TV-Out and 8 for DVI. Any combination + * (bitwise) of these will suffice. I never actually tested 4 displays hooked up * simultaneously, so be warned. See the acpi4asus README for more info. */ static int @@ -1099,6 +1119,8 @@ return L5x; else if (strncmp(model, "A4G", 3) == 0) return A4G; + else if (strncmp(model, "A6J", 3) == 0) + return A6J; else if (strncmp(model, "W1N", 3) == 0) return W1N; else if (strncmp(model, "W3V", 3) == 0) -- CHARY 'Iksaif' Corentin corentincj@xxxxxxxxxx - corentincj@xxxxxxxx http://xf.iksaif.net - To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html