Lines Matching refs:bridge_agpstat

479 static void agp_v2_parse_one(u32 *requested_mode, u32 *bridge_agpstat, u32 *vga_agpstat)
499 switch (*bridge_agpstat & 7) {
501 *bridge_agpstat |= (AGPSTAT2_2X | AGPSTAT2_1X);
506 *bridge_agpstat |= AGPSTAT2_1X;
537 if (!((*bridge_agpstat & AGPSTAT_SBA) && (*vga_agpstat & AGPSTAT_SBA) && (*requested_mode & AGPSTAT_SBA)))
538 *bridge_agpstat &= ~AGPSTAT_SBA;
541 if (!((*bridge_agpstat & AGPSTAT2_4X) && (*vga_agpstat & AGPSTAT2_4X) && (*requested_mode & AGPSTAT2_4X)))
542 *bridge_agpstat &= ~AGPSTAT2_4X;
544 if (!((*bridge_agpstat & AGPSTAT2_2X) && (*vga_agpstat & AGPSTAT2_2X) && (*requested_mode & AGPSTAT2_2X)))
545 *bridge_agpstat &= ~AGPSTAT2_2X;
547 if (!((*bridge_agpstat & AGPSTAT2_1X) && (*vga_agpstat & AGPSTAT2_1X) && (*requested_mode & AGPSTAT2_1X)))
548 *bridge_agpstat &= ~AGPSTAT2_1X;
551 if (*bridge_agpstat & AGPSTAT2_4X)
552 *bridge_agpstat &= ~(AGPSTAT2_1X | AGPSTAT2_2X); /* 4X */
554 if (*bridge_agpstat & AGPSTAT2_2X)
555 *bridge_agpstat &= ~(AGPSTAT2_1X | AGPSTAT2_4X); /* 2X */
557 if (*bridge_agpstat & AGPSTAT2_1X)
558 *bridge_agpstat &= ~(AGPSTAT2_2X | AGPSTAT2_4X); /* 1X */
562 *bridge_agpstat &= ~AGPSTAT_FW;
565 *bridge_agpstat &= ~AGPSTAT_SBA;
568 *bridge_agpstat &= ~(AGPSTAT2_2X | AGPSTAT2_4X);
569 *bridge_agpstat |= AGPSTAT2_1X;
573 if (*bridge_agpstat & AGPSTAT2_1X)
574 *bridge_agpstat &= ~AGPSTAT_FW;
579 * bridge_agpstat = PCI_AGP_STATUS from agp bridge.
582 static void agp_v3_parse_one(u32 *requested_mode, u32 *bridge_agpstat, u32 *vga_agpstat)
584 u32 origbridge=*bridge_agpstat, origvga=*vga_agpstat;
606 *bridge_agpstat = ((*bridge_agpstat & ~AGPSTAT_ARQSZ) |
607 max_t(u32,(*bridge_agpstat & AGPSTAT_ARQSZ),(*vga_agpstat & AGPSTAT_ARQSZ)));
611 *bridge_agpstat = ((*bridge_agpstat & ~AGPSTAT_CAL_MASK) |
612 min_t(u32,(*bridge_agpstat & AGPSTAT_CAL_MASK),(*vga_agpstat & AGPSTAT_CAL_MASK)));
615 *bridge_agpstat |= AGPSTAT_SBA;
647 if (!(*bridge_agpstat & AGPSTAT3_8X)) {
648 *bridge_agpstat &= ~(AGPSTAT3_8X | AGPSTAT3_RSVD);
649 *bridge_agpstat |= AGPSTAT3_4X;
654 *bridge_agpstat &= ~(AGPSTAT3_8X | AGPSTAT3_RSVD);
655 *bridge_agpstat |= AGPSTAT3_4X;
660 *bridge_agpstat &= ~(AGPSTAT3_4X | AGPSTAT3_RSVD);
664 *bridge_agpstat &= ~(AGPSTAT3_8X | AGPSTAT3_RSVD);
665 *bridge_agpstat |= AGPSTAT3_4X;
675 if ((*bridge_agpstat & AGPSTAT3_8X) && (*vga_agpstat & AGPSTAT3_8X)) {
678 *bridge_agpstat &= ~(AGPSTAT3_4X | AGPSTAT3_RSVD);
682 if (!(*bridge_agpstat & AGPSTAT3_8X)) {
683 printk(KERN_INFO PFX "bridge couldn't do x8. bridge_agpstat:%x (orig=%x)\n",
684 *bridge_agpstat, origbridge);
685 *bridge_agpstat &= ~(AGPSTAT3_8X | AGPSTAT3_RSVD);
686 *bridge_agpstat |= AGPSTAT3_4X;
700 *bridge_agpstat &= ~AGPSTAT_FW;
703 *bridge_agpstat &= ~AGPSTAT_SBA;
706 *bridge_agpstat &= ~(AGPSTAT2_2X | AGPSTAT2_4X);
707 *bridge_agpstat |= AGPSTAT2_1X;
716 * @bridge_agpstat: current agp_stat from AGP bridge.
721 u32 agp_collect_device_status(struct agp_bridge_data *bridge, u32 requested_mode, u32 bridge_agpstat)
745 bridge_agpstat = ((bridge_agpstat & ~AGPSTAT_RQ_DEPTH) |
747 min_t(u32, (bridge_agpstat & AGPSTAT_RQ_DEPTH), (vga_agpstat & AGPSTAT_RQ_DEPTH))));
750 if (!((bridge_agpstat & AGPSTAT_FW) &&
753 bridge_agpstat &= ~AGPSTAT_FW;
757 agp_v3_parse_one(&requested_mode, &bridge_agpstat, &vga_agpstat);
759 agp_v2_parse_one(&requested_mode, &bridge_agpstat, &vga_agpstat);
762 return bridge_agpstat;
767 void agp_device_command(u32 bridge_agpstat, bool agp_v3)
772 mode = bridge_agpstat & 0x7;
783 pci_write_config_dword(device, agp + PCI_AGP_COMMAND, bridge_agpstat);
806 u32 bridge_agpstat, temp;
814 agp_bridge->capndx + PCI_AGP_STATUS, &bridge_agpstat);
816 bridge_agpstat = agp_collect_device_status(agp_bridge, requested_mode, bridge_agpstat);
817 if (bridge_agpstat == 0)
821 bridge_agpstat |= AGPSTAT_AGP_ENABLE;
829 agp_device_command(bridge_agpstat, true);
833 bridge_agpstat &= ~(7<<10) ;
845 agp_device_command(bridge_agpstat, false);