|
@@ -20,15 +20,30 @@
|
|
* DEALINGS IN THE SOFTWARE.
|
|
* DEALINGS IN THE SOFTWARE.
|
|
*/
|
|
*/
|
|
|
|
|
|
|
|
+#include <engine/falcon.h>
|
|
|
|
+#include <core/msgqueue.h>
|
|
#include "priv.h"
|
|
#include "priv.h"
|
|
|
|
|
|
|
|
+static void
|
|
|
|
+gm20b_pmu_recv(struct nvkm_pmu *pmu)
|
|
|
|
+{
|
|
|
|
+ nvkm_msgqueue_recv(pmu->queue);
|
|
|
|
+}
|
|
|
|
+
|
|
static const struct nvkm_pmu_func
|
|
static const struct nvkm_pmu_func
|
|
gm20b_pmu = {
|
|
gm20b_pmu = {
|
|
- .reset = gt215_pmu_reset,
|
|
|
|
|
|
+ .intr = gt215_pmu_intr,
|
|
|
|
+ .recv = gm20b_pmu_recv,
|
|
};
|
|
};
|
|
|
|
|
|
int
|
|
int
|
|
gm20b_pmu_new(struct nvkm_device *device, int index, struct nvkm_pmu **ppmu)
|
|
gm20b_pmu_new(struct nvkm_device *device, int index, struct nvkm_pmu **ppmu)
|
|
{
|
|
{
|
|
- return nvkm_pmu_new_(&gm20b_pmu, device, index, ppmu);
|
|
|
|
|
|
+ int ret;
|
|
|
|
+
|
|
|
|
+ ret = nvkm_pmu_new_(&gm20b_pmu, device, index, ppmu);
|
|
|
|
+ if (ret)
|
|
|
|
+ return ret;
|
|
|
|
+
|
|
|
|
+ return 0;
|
|
}
|
|
}
|