diff mbox series

[v2] hw/phb4: Use standard MIN/MAX macro definitions

Message ID 20190808053732.8413-1-jniethe5@gmail.com
State Accepted
Headers show
Series [v2] hw/phb4: Use standard MIN/MAX macro definitions | expand

Commit Message

Jordan Niethe Aug. 8, 2019, 5:37 a.m. UTC
The max() macro definition incorrectly returns the minimum value.  The
max() macro is used to ensure that PERST has been asserted for 250ms and
that we wait 100ms seconds for the ETU logic in the CRESET_START PHB4
PCI slot state.  However, by returning the minimum value there is no
guarantee that either of these requirements are met.

Correct macro definitions for MIN and MAX are already provided in
skiboot.h.  Remove the redundant/incorrect versions here and switch to
using the standard ones.

Fixes: 70edcbb4b39d ("hw/phb4: Skip FRESET PERST when coming from
CRESET")
Signed-off-by: Jordan Niethe <jniethe5@gmail.com>
---
v2: Add Fixes tag and improve commit message

 hw/phb4.c | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)
diff mbox series

Patch

diff --git a/hw/phb4.c b/hw/phb4.c
index 39d0151c9aa1..a8fbf817ad2c 100644
--- a/hw/phb4.c
+++ b/hw/phb4.c
@@ -2574,9 +2574,6 @@  static void phb4_lane_eq_change(struct phb4 *p, uint32_t vdid)
 	p->lane_eq_en = !phb4_lane_eq_retry_whitelist(vdid);
 }
 
-#define min(x,y) ((x) < (y) ? x : y)
-#define max(x,y) ((x) < (y) ? x : y)
-
 static bool phb4_link_optimal(struct pci_slot *slot, uint32_t *vdid)
 {
 	struct phb4 *p = phb_to_phb4(slot->phb);
@@ -2603,9 +2600,9 @@  static bool phb4_link_optimal(struct pci_slot *slot, uint32_t *vdid)
 	phb4_get_info(slot->phb, bdfn, &dev_speed, &dev_width);
 
 	/* Work out if we are optimally trained */
-	target_speed = min(phb_speed, dev_speed);
+	target_speed = MIN(phb_speed, dev_speed);
 	optimal_speed = (trained_speed >= target_speed);
-	target_width = min(phb_width, dev_width);
+	target_width = MIN(phb_width, dev_width);
 	optimal_width = (trained_width >= target_width);
 	optimal = optimal_width && optimal_speed;
 	retry_enabled = (phb4_chip_retry_workaround() &&
@@ -3366,7 +3363,7 @@  static int64_t phb4_creset(struct pci_slot *slot)
 		 */
 		creset_time = tb_to_msecs(mftb() - p->creset_start_time);
 		if (creset_time < 250)
-			wait_time = max(100, 250 - creset_time);
+			wait_time = MAX(100, 250 - creset_time);
 		else
 			wait_time = 100;
 		PHBDBG(p, "CRESET: wait_time = %lld\n", wait_time);