Date: Wed, 4 Feb 2015 04:55:05 +0000 (UTC) From: Justin Hibbits <jhibbits@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r278181 - in projects/pmac_pmu/sys/powerpc: include powerpc Message-ID: <201502040455.t144t5bA099237@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: jhibbits Date: Wed Feb 4 04:55:04 2015 New Revision: 278181 URL: https://svnweb.freebsd.org/changeset/base/278181 Log: Save the rest of the OpenPIC registers. While here, convert to using openpic_read()/openpic_write() for PIC accesses, to match the rest of the file, and clean up style(9). Modified: projects/pmac_pmu/sys/powerpc/include/openpicvar.h projects/pmac_pmu/sys/powerpc/powerpc/openpic.c Modified: projects/pmac_pmu/sys/powerpc/include/openpicvar.h ============================================================================== --- projects/pmac_pmu/sys/powerpc/include/openpicvar.h Wed Feb 4 00:56:55 2015 (r278180) +++ projects/pmac_pmu/sys/powerpc/include/openpicvar.h Wed Feb 4 04:55:04 2015 (r278181) @@ -56,10 +56,13 @@ struct openpic_softc { /* Saved states. */ uint32_t sc_saved_config; + uint32_t sc_saved_spurious; + uint32_t sc_saved_tfreq; uint32_t sc_saved_ipis[4]; uint32_t sc_saved_prios[4]; struct openpic_timer sc_saved_timers[OPENPIC_TIMERS]; - uint32_t sc_saved_vectors[OPENPIC_SRC_VECTOR_COUNT]; + uint32_t sc_saved_src[OPENPIC_SRC_VECTOR_COUNT]; + uint32_t sc_saved_dest[OPENPIC_SRC_VECTOR_COUNT]; }; Modified: projects/pmac_pmu/sys/powerpc/powerpc/openpic.c ============================================================================== --- projects/pmac_pmu/sys/powerpc/powerpc/openpic.c Wed Feb 4 00:56:55 2015 (r278180) +++ projects/pmac_pmu/sys/powerpc/powerpc/openpic.c Wed Feb 4 04:55:04 2015 (r278181) @@ -389,25 +389,35 @@ openpic_suspend(device_t dev) sc = device_get_softc(dev); - sc->sc_saved_config = bus_read_4(sc->sc_memr, OPENPIC_CONFIG); + sc->sc_saved_config = openpic_read(sc, OPENPIC_CONFIG); + sc->sc_saved_spurious = openpic_read(sc, OPENPIC_SPURIOUS_VECTOR); + sc->sc_saved_tfreq = openpic_read(sc, OPENPIC_TFREQ); for (i = 0; i < 4; i++) { - sc->sc_saved_ipis[i] = bus_read_4(sc->sc_memr, OPENPIC_IPI_VECTOR(i)); + sc->sc_saved_ipis[i] = + openpic_read(sc, OPENPIC_IPI_VECTOR(i)); } for (i = 0; i < 4; i++) { - sc->sc_saved_prios[i] = bus_read_4(sc->sc_memr, OPENPIC_PCPU_TPR(i)); + sc->sc_saved_prios[i] = + openpic_read(sc, OPENPIC_PCPU_TPR(i)); } for (i = 0; i < OPENPIC_TIMERS; i++) { - sc->sc_saved_timers[i].tcnt = bus_read_4(sc->sc_memr, OPENPIC_TCNT(i)); - sc->sc_saved_timers[i].tbase = bus_read_4(sc->sc_memr, OPENPIC_TBASE(i)); - sc->sc_saved_timers[i].tvec = bus_read_4(sc->sc_memr, OPENPIC_TVEC(i)); - sc->sc_saved_timers[i].tdst = bus_read_4(sc->sc_memr, OPENPIC_TDST(i)); + sc->sc_saved_timers[i].tcnt = + openpic_read(sc, OPENPIC_TCNT(i)); + sc->sc_saved_timers[i].tbase = + openpic_read(sc, OPENPIC_TBASE(i)); + sc->sc_saved_timers[i].tvec = + openpic_read(sc, OPENPIC_TVEC(i)); + sc->sc_saved_timers[i].tdst = + openpic_read(sc, OPENPIC_TDST(i)); } - for (i = 0; i < OPENPIC_SRC_VECTOR_COUNT; i++) - sc->sc_saved_vectors[i] = - bus_read_4(sc->sc_memr, OPENPIC_SRC_VECTOR(i)) & ~OPENPIC_ACTIVITY; + for (i = 0; i < OPENPIC_SRC_VECTOR_COUNT; i++) { + sc->sc_saved_src[i] = openpic_read(sc, + OPENPIC_SRC_VECTOR(i)) & ~OPENPIC_ACTIVITY; + sc->sc_saved_dest[i] = openpic_read(sc, OPENPIC_IDEST(i)); + } return (0); } @@ -420,24 +430,34 @@ openpic_resume(device_t dev) sc = device_get_softc(dev); - sc->sc_saved_config = bus_read_4(sc->sc_memr, OPENPIC_CONFIG); + openpic_write(sc, OPENPIC_CONFIG, sc->sc_saved_config); + openpic_write(sc, OPENPIC_SPURIOUS_VECTOR, sc->sc_saved_spurious); + openpic_write(sc, OPENPIC_TFREQ, sc->sc_saved_tfreq); for (i = 0; i < 4; i++) { - bus_write_4(sc->sc_memr, OPENPIC_IPI_VECTOR(i), sc->sc_saved_ipis[i]); + openpic_write(sc, OPENPIC_IPI_VECTOR(i), + sc->sc_saved_ipis[i]); } for (i = 0; i < 4; i++) { - bus_write_4(sc->sc_memr, OPENPIC_PCPU_TPR(i), sc->sc_saved_prios[i]); + openpic_write(sc, OPENPIC_PCPU_TPR(i), + sc->sc_saved_prios[i]); } for (i = 0; i < OPENPIC_TIMERS; i++) { - bus_write_4(sc->sc_memr, OPENPIC_TCNT(i), sc->sc_saved_timers[i].tcnt); - bus_write_4(sc->sc_memr, OPENPIC_TBASE(i), sc->sc_saved_timers[i].tbase); - bus_write_4(sc->sc_memr, OPENPIC_TVEC(i), sc->sc_saved_timers[i].tvec); - bus_write_4(sc->sc_memr, OPENPIC_TDST(i), sc->sc_saved_timers[i].tdst); + openpic_write(sc, OPENPIC_TCNT(i), + sc->sc_saved_timers[i].tcnt); + openpic_write(sc, OPENPIC_TBASE(i), + sc->sc_saved_timers[i].tbase); + openpic_write(sc, OPENPIC_TVEC(i), + sc->sc_saved_timers[i].tvec); + openpic_write(sc, OPENPIC_TDST(i), + sc->sc_saved_timers[i].tdst); } - for (i = 0; i < OPENPIC_SRC_VECTOR_COUNT; i++) - bus_write_4(sc->sc_memr, OPENPIC_SRC_VECTOR(i), sc->sc_saved_vectors[i]); + for (i = 0; i < OPENPIC_SRC_VECTOR_COUNT; i++) { + openpic_write(sc, OPENPIC_SRC_VECTOR(i), sc->sc_saved_src[i]); + openpic_write(sc, OPENPIC_IDEST(i), sc->sc_saved_dest[i]); + } return (0); }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201502040455.t144t5bA099237>