s3hwgc.c 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. #include <u.h>
  2. #include <libc.h>
  3. #include <bio.h>
  4. #include "pci.h"
  5. #include "vga.h"
  6. static void
  7. init(Vga* vga, Ctlr* ctlr)
  8. {
  9. ctlr->flag |= Finit;
  10. if(cflag)
  11. return;
  12. /*
  13. * Use of the on-chip hwgc requires using enhanced mode.
  14. */
  15. if(vga->ctlr == 0 || (vga->ctlr->flag & Henhanced) == 0 || vga->mode->z < 8){
  16. cflag = 1;
  17. return;
  18. }
  19. resyncinit(vga, ctlr, Uenhanced, 0);
  20. }
  21. static void
  22. load(Vga* vga, Ctlr* ctlr)
  23. {
  24. ctlr->flag |= Fload;
  25. if(cflag)
  26. return;
  27. /*
  28. * Use of the on-chip hwgc requires using enhanced mode.
  29. */
  30. if(vga->ctlr == 0 || (vga->ctlr->flag & Uenhanced) == 0 || vga->mode->z < 8)
  31. cflag = 1;
  32. }
  33. Ctlr bt485hwgc = {
  34. "bt485hwgc", /* name */
  35. 0, /* snarf */
  36. 0, /* options */
  37. 0, /* init */
  38. 0, /* load */
  39. 0, /* dump */
  40. };
  41. Ctlr rgb524hwgc = {
  42. "rgb524hwgc", /* name */
  43. 0, /* snarf */
  44. 0, /* options */
  45. 0, /* init */
  46. 0, /* load */
  47. 0, /* dump */
  48. };
  49. Ctlr s3hwgc = {
  50. "s3hwgc", /* name */
  51. 0, /* snarf */
  52. 0, /* options */
  53. init, /* init */
  54. load, /* load */
  55. 0, /* dump */
  56. };
  57. Ctlr tvp3020hwgc = {
  58. "tvp3020hwgc", /* name */
  59. 0, /* snarf */
  60. 0, /* options */
  61. 0, /* init */
  62. 0, /* load */
  63. 0, /* dump */
  64. };
  65. Ctlr tvp3026hwgc = {
  66. "tvp3026hwgc", /* name */
  67. 0, /* snarf */
  68. 0, /* options */
  69. 0, /* init */
  70. 0, /* load */
  71. 0, /* dump */
  72. };