Author: avg Date: Wed Jun 19 20:20:02 2019 New Revision: 349213 URL: https://svnweb.freebsd.org/changeset/base/349213
Log: MFC r348228: amdgpio: fix reading status of input pins Modified: stable/12/sys/dev/amdgpio/amdgpio.c Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/dev/amdgpio/amdgpio.c ============================================================================== --- stable/12/sys/dev/amdgpio/amdgpio.c Wed Jun 19 20:18:49 2019 (r349212) +++ stable/12/sys/dev/amdgpio/amdgpio.c Wed Jun 19 20:20:02 2019 (r349213) @@ -264,10 +264,17 @@ amdgpio_pin_get(device_t dev, uint32_t pin, unsigned i reg = AMDGPIO_PIN_REGISTER(pin); val = amdgpio_read_4(sc, reg); - if (val & BIT(OUTPUT_VALUE_OFF)) - *value = GPIO_PIN_HIGH; - else - *value = GPIO_PIN_LOW; + if ((sc->sc_gpio_pins[pin].gp_flags & GPIO_PIN_OUTPUT) != 0) { + if (val & BIT(OUTPUT_VALUE_OFF)) + *value = GPIO_PIN_HIGH; + else + *value = GPIO_PIN_LOW; + } else { + if (val & BIT(PIN_STS_OFF)) + *value = GPIO_PIN_HIGH; + else + *value = GPIO_PIN_LOW; + } dprintf("pin %d value 0x%x\n", pin, *value); _______________________________________________ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"