@@ -426,17 +426,6 @@ static void pcie_aspm_check_latency(struct pci_dev *endpoint)
426
426
}
427
427
}
428
428
429
- static void pci_clear_and_set_dword (struct pci_dev * pdev , int pos ,
430
- u32 clear , u32 set )
431
- {
432
- u32 val ;
433
-
434
- pci_read_config_dword (pdev , pos , & val );
435
- val &= ~clear ;
436
- val |= set ;
437
- pci_write_config_dword (pdev , pos , val );
438
- }
439
-
440
429
/* Calculate L1.2 PM substate timing parameters */
441
430
static void aspm_calc_l12_info (struct pcie_link_state * link ,
442
431
u32 parent_l1ss_cap , u32 child_l1ss_cap )
@@ -501,33 +490,39 @@ static void aspm_calc_l12_info(struct pcie_link_state *link,
501
490
cl1_2_enables = cctl1 & PCI_L1SS_CTL1_L1_2_MASK ;
502
491
503
492
if (pl1_2_enables || cl1_2_enables ) {
504
- pci_clear_and_set_dword (child , child -> l1ss + PCI_L1SS_CTL1 ,
505
- PCI_L1SS_CTL1_L1_2_MASK , 0 );
506
- pci_clear_and_set_dword (parent , parent -> l1ss + PCI_L1SS_CTL1 ,
507
- PCI_L1SS_CTL1_L1_2_MASK , 0 );
493
+ pci_clear_and_set_config_dword (child ,
494
+ child -> l1ss + PCI_L1SS_CTL1 ,
495
+ PCI_L1SS_CTL1_L1_2_MASK , 0 );
496
+ pci_clear_and_set_config_dword (parent ,
497
+ parent -> l1ss + PCI_L1SS_CTL1 ,
498
+ PCI_L1SS_CTL1_L1_2_MASK , 0 );
508
499
}
509
500
510
501
/* Program T_POWER_ON times in both ports */
511
502
pci_write_config_dword (parent , parent -> l1ss + PCI_L1SS_CTL2 , ctl2 );
512
503
pci_write_config_dword (child , child -> l1ss + PCI_L1SS_CTL2 , ctl2 );
513
504
514
505
/* Program Common_Mode_Restore_Time in upstream device */
515
- pci_clear_and_set_dword (parent , parent -> l1ss + PCI_L1SS_CTL1 ,
516
- PCI_L1SS_CTL1_CM_RESTORE_TIME , ctl1 );
506
+ pci_clear_and_set_config_dword (parent , parent -> l1ss + PCI_L1SS_CTL1 ,
507
+ PCI_L1SS_CTL1_CM_RESTORE_TIME , ctl1 );
517
508
518
509
/* Program LTR_L1.2_THRESHOLD time in both ports */
519
- pci_clear_and_set_dword (parent , parent -> l1ss + PCI_L1SS_CTL1 ,
520
- PCI_L1SS_CTL1_LTR_L12_TH_VALUE |
521
- PCI_L1SS_CTL1_LTR_L12_TH_SCALE , ctl1 );
522
- pci_clear_and_set_dword (child , child -> l1ss + PCI_L1SS_CTL1 ,
523
- PCI_L1SS_CTL1_LTR_L12_TH_VALUE |
524
- PCI_L1SS_CTL1_LTR_L12_TH_SCALE , ctl1 );
510
+ pci_clear_and_set_config_dword (parent , parent -> l1ss + PCI_L1SS_CTL1 ,
511
+ PCI_L1SS_CTL1_LTR_L12_TH_VALUE |
512
+ PCI_L1SS_CTL1_LTR_L12_TH_SCALE ,
513
+ ctl1 );
514
+ pci_clear_and_set_config_dword (child , child -> l1ss + PCI_L1SS_CTL1 ,
515
+ PCI_L1SS_CTL1_LTR_L12_TH_VALUE |
516
+ PCI_L1SS_CTL1_LTR_L12_TH_SCALE ,
517
+ ctl1 );
525
518
526
519
if (pl1_2_enables || cl1_2_enables ) {
527
- pci_clear_and_set_dword (parent , parent -> l1ss + PCI_L1SS_CTL1 , 0 ,
528
- pl1_2_enables );
529
- pci_clear_and_set_dword (child , child -> l1ss + PCI_L1SS_CTL1 , 0 ,
530
- cl1_2_enables );
520
+ pci_clear_and_set_config_dword (parent ,
521
+ parent -> l1ss + PCI_L1SS_CTL1 , 0 ,
522
+ pl1_2_enables );
523
+ pci_clear_and_set_config_dword (child ,
524
+ child -> l1ss + PCI_L1SS_CTL1 , 0 ,
525
+ cl1_2_enables );
531
526
}
532
527
}
533
528
@@ -687,10 +682,10 @@ static void pcie_config_aspm_l1ss(struct pcie_link_state *link, u32 state)
687
682
*/
688
683
689
684
/* Disable all L1 substates */
690
- pci_clear_and_set_dword (child , child -> l1ss + PCI_L1SS_CTL1 ,
691
- PCI_L1SS_CTL1_L1SS_MASK , 0 );
692
- pci_clear_and_set_dword (parent , parent -> l1ss + PCI_L1SS_CTL1 ,
693
- PCI_L1SS_CTL1_L1SS_MASK , 0 );
685
+ pci_clear_and_set_config_dword (child , child -> l1ss + PCI_L1SS_CTL1 ,
686
+ PCI_L1SS_CTL1_L1SS_MASK , 0 );
687
+ pci_clear_and_set_config_dword (parent , parent -> l1ss + PCI_L1SS_CTL1 ,
688
+ PCI_L1SS_CTL1_L1SS_MASK , 0 );
694
689
/*
695
690
* If needed, disable L1, and it gets enabled later
696
691
* in pcie_config_aspm_link().
@@ -713,10 +708,10 @@ static void pcie_config_aspm_l1ss(struct pcie_link_state *link, u32 state)
713
708
val |= PCI_L1SS_CTL1_PCIPM_L1_2 ;
714
709
715
710
/* Enable what we need to enable */
716
- pci_clear_and_set_dword (parent , parent -> l1ss + PCI_L1SS_CTL1 ,
717
- PCI_L1SS_CTL1_L1SS_MASK , val );
718
- pci_clear_and_set_dword (child , child -> l1ss + PCI_L1SS_CTL1 ,
719
- PCI_L1SS_CTL1_L1SS_MASK , val );
711
+ pci_clear_and_set_config_dword (parent , parent -> l1ss + PCI_L1SS_CTL1 ,
712
+ PCI_L1SS_CTL1_L1SS_MASK , val );
713
+ pci_clear_and_set_config_dword (child , child -> l1ss + PCI_L1SS_CTL1 ,
714
+ PCI_L1SS_CTL1_L1SS_MASK , val );
720
715
}
721
716
722
717
static void pcie_config_aspm_dev (struct pci_dev * pdev , u32 val )
0 commit comments