Lines Matching refs:opregion

248 	struct opregion_swsci *swsci = dev_priv->opregion.swsci;  in swsci()
264 if ((dev_priv->opregion.swsci_sbcb_sub_functions & in swsci()
268 if ((dev_priv->opregion.swsci_gbda_sub_functions & in swsci()
424 struct opregion_asle *asle = dev_priv->opregion.asle; in asle_set_backlight()
545 struct intel_opregion *opregion = in asle_work() local
548 container_of(opregion, struct drm_i915_private, opregion); in asle_work()
549 struct opregion_asle *asle = dev_priv->opregion.asle; in asle_work()
597 if (dev_priv->opregion.asle) in intel_opregion_asle_intr()
598 schedule_work(&dev_priv->opregion.asle_work); in intel_opregion_asle_intr()
613 struct intel_opregion *opregion = container_of(nb, struct intel_opregion, in intel_opregion_video_event() local
622 acpi = opregion->acpi; in intel_opregion_video_event()
638 static void set_did(struct intel_opregion *opregion, int i, u32 val) in set_did() argument
640 if (i < ARRAY_SIZE(opregion->acpi->didl)) { in set_did()
641 opregion->acpi->didl[i] = val; in set_did()
643 i -= ARRAY_SIZE(opregion->acpi->didl); in set_did()
645 if (WARN_ON(i >= ARRAY_SIZE(opregion->acpi->did2))) in set_did()
648 opregion->acpi->did2[i] = val; in set_did()
654 struct intel_opregion *opregion = &dev_priv->opregion; in intel_didl_outputs() local
666 max_outputs = ARRAY_SIZE(opregion->acpi->didl) + in intel_didl_outputs()
667 ARRAY_SIZE(opregion->acpi->did2); in intel_didl_outputs()
674 set_did(opregion, i, connector->acpi_device_id); in intel_didl_outputs()
688 set_did(opregion, i, 0); in intel_didl_outputs()
693 struct intel_opregion *opregion = &dev_priv->opregion; in intel_setup_cadls() local
710 if (i >= ARRAY_SIZE(opregion->acpi->cadl)) in intel_setup_cadls()
712 opregion->acpi->cadl[i++] = connector->acpi_device_id; in intel_setup_cadls()
717 if (i < ARRAY_SIZE(opregion->acpi->cadl)) in intel_setup_cadls()
718 opregion->acpi->cadl[i] = 0; in intel_setup_cadls()
723 struct intel_opregion *opregion = &dev_priv->opregion; in swsci_setup() local
728 opregion->swsci_gbda_sub_functions = 1; in swsci_setup()
729 opregion->swsci_sbcb_sub_functions = 1; in swsci_setup()
735 opregion->swsci_gbda_sub_functions |= tmp; in swsci_setup()
745 opregion->swsci_sbcb_sub_functions |= tmp; in swsci_setup()
762 u32 req = opregion->swsci_sbcb_sub_functions; in swsci_setup()
770 opregion->swsci_sbcb_sub_functions |= tmp; in swsci_setup()
776 opregion->swsci_gbda_sub_functions, in swsci_setup()
777 opregion->swsci_sbcb_sub_functions); in swsci_setup()
801 struct intel_opregion *opregion = &dev_priv->opregion; in intel_load_vbt_firmware() local
818 opregion->vbt_firmware = kmemdup(fw->data, fw->size, GFP_KERNEL); in intel_load_vbt_firmware()
819 if (opregion->vbt_firmware) { in intel_load_vbt_firmware()
822 opregion->vbt = opregion->vbt_firmware; in intel_load_vbt_firmware()
823 opregion->vbt_size = fw->size; in intel_load_vbt_firmware()
841 struct intel_opregion *opregion = &dev_priv->opregion; in intel_opregion_setup() local
864 INIT_WORK(&opregion->asle_work, asle_work); in intel_opregion_setup()
877 opregion->header = base; in intel_opregion_setup()
878 opregion->lid_state = base + ACPI_CLID; in intel_opregion_setup()
881 opregion->header->over.major, in intel_opregion_setup()
882 opregion->header->over.minor, in intel_opregion_setup()
883 opregion->header->over.revision); in intel_opregion_setup()
885 mboxes = opregion->header->mboxes; in intel_opregion_setup()
888 opregion->acpi = base + OPREGION_ACPI_OFFSET; in intel_opregion_setup()
895 opregion->acpi->chpd = 1; in intel_opregion_setup()
900 opregion->swsci = base + OPREGION_SWSCI_OFFSET; in intel_opregion_setup()
906 opregion->asle = base + OPREGION_ASLE_OFFSET; in intel_opregion_setup()
908 opregion->asle->ardy = ASLE_ARDY_NOT_READY; in intel_opregion_setup()
920 if (opregion->header->over.major >= 2 && opregion->asle && in intel_opregion_setup()
921 opregion->asle->rvda && opregion->asle->rvds) { in intel_opregion_setup()
922 resource_size_t rvda = opregion->asle->rvda; in intel_opregion_setup()
930 if (opregion->header->over.major > 2 || in intel_opregion_setup()
931 opregion->header->over.minor >= 1) { in intel_opregion_setup()
937 opregion->rvda = memremap(rvda, opregion->asle->rvds, in intel_opregion_setup()
940 vbt = opregion->rvda; in intel_opregion_setup()
941 vbt_size = opregion->asle->rvds; in intel_opregion_setup()
945 opregion->vbt = vbt; in intel_opregion_setup()
946 opregion->vbt_size = vbt_size; in intel_opregion_setup()
951 memunmap(opregion->rvda); in intel_opregion_setup()
952 opregion->rvda = NULL; in intel_opregion_setup()
970 opregion->vbt = vbt; in intel_opregion_setup()
971 opregion->vbt_size = vbt_size; in intel_opregion_setup()
1041 struct intel_opregion *opregion = &i915->opregion; in intel_opregion_register() local
1043 if (!opregion->header) in intel_opregion_register()
1046 if (opregion->acpi) { in intel_opregion_register()
1047 opregion->acpi_notifier.notifier_call = in intel_opregion_register()
1049 register_acpi_notifier(&opregion->acpi_notifier); in intel_opregion_register()
1057 struct intel_opregion *opregion = &i915->opregion; in intel_opregion_resume() local
1059 if (!opregion->header) in intel_opregion_resume()
1062 if (opregion->acpi) { in intel_opregion_resume()
1071 opregion->acpi->csts = 0; in intel_opregion_resume()
1072 opregion->acpi->drdy = 1; in intel_opregion_resume()
1075 if (opregion->asle) { in intel_opregion_resume()
1076 opregion->asle->tche = ASLE_TCHE_BLC_EN; in intel_opregion_resume()
1077 opregion->asle->ardy = ASLE_ARDY_READY; in intel_opregion_resume()
1088 struct intel_opregion *opregion = &i915->opregion; in intel_opregion_suspend() local
1090 if (!opregion->header) in intel_opregion_suspend()
1095 if (opregion->asle) in intel_opregion_suspend()
1096 opregion->asle->ardy = ASLE_ARDY_NOT_READY; in intel_opregion_suspend()
1098 cancel_work_sync(&i915->opregion.asle_work); in intel_opregion_suspend()
1100 if (opregion->acpi) in intel_opregion_suspend()
1101 opregion->acpi->drdy = 0; in intel_opregion_suspend()
1106 struct intel_opregion *opregion = &i915->opregion; in intel_opregion_unregister() local
1110 if (!opregion->header) in intel_opregion_unregister()
1113 if (opregion->acpi_notifier.notifier_call) { in intel_opregion_unregister()
1114 unregister_acpi_notifier(&opregion->acpi_notifier); in intel_opregion_unregister()
1115 opregion->acpi_notifier.notifier_call = NULL; in intel_opregion_unregister()
1119 memunmap(opregion->header); in intel_opregion_unregister()
1120 if (opregion->rvda) { in intel_opregion_unregister()
1121 memunmap(opregion->rvda); in intel_opregion_unregister()
1122 opregion->rvda = NULL; in intel_opregion_unregister()
1124 if (opregion->vbt_firmware) { in intel_opregion_unregister()
1125 kfree(opregion->vbt_firmware); in intel_opregion_unregister()
1126 opregion->vbt_firmware = NULL; in intel_opregion_unregister()
1128 opregion->header = NULL; in intel_opregion_unregister()
1129 opregion->acpi = NULL; in intel_opregion_unregister()
1130 opregion->swsci = NULL; in intel_opregion_unregister()
1131 opregion->asle = NULL; in intel_opregion_unregister()
1132 opregion->vbt = NULL; in intel_opregion_unregister()
1133 opregion->lid_state = NULL; in intel_opregion_unregister()