#define PARAM_VESAPM_OFF 0x30
#define PARAM_LFB_PAGES 0x32
#define PARAM_VESA_ATTRIB 0x34
+#define PARAM_CAPABILITIES 0x36
/* Define DO_STORE according to CONFIG_VIDEO_RETAIN */
#ifdef CONFIG_VIDEO_RETAIN
movw 18(%di), %ax
movl %eax, %fs:(PARAM_LFB_SIZE)
+# store mode capabilities
+ movl 10(%di), %eax
+ movl %eax, %fs:(PARAM_CAPABILITIES)
+
# switching the DAC to 8-bit is for <= 8 bpp only
movw %fs:(PARAM_LFB_DEPTH), %ax
cmpw $8, %ax
ret
store_edid:
- pushw %es # just save all registers
- pushw %ax
+ pushw %es # just save all registers
+ pushw %ax
pushw %bx
pushw %cx
pushw %dx
pushw %di
- pushw %fs
+ pushw %fs
popw %es
movl $0x13131313, %eax # memset block with 0x13
movw $32, %cx
movw $0x140, %di
cld
- rep
- stosl
+ rep
+ stosl
- movw $0x4f15, %ax # do VBE/DDC
+ movw $0x4f15, %ax # do VBE/DDC
movw $0x01, %bx
movw $0x00, %cx
- movw $0x01, %dx
+ movw $0x00, %dx
movw $0x140, %di
- int $0x10
+ int $0x10
- popw %di # restore all registers
+ popw %di # restore all registers
popw %dx
popw %cx
popw %bx
popw %ax
- popw %es
+ popw %es
ret
# VIDEO_SELECT-only variables