Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 937deb06 authored by Alexandre Courbot's avatar Alexandre Courbot Committed by Ben Skeggs
Browse files

drm/nouveau/pmu/gm20b: add msgqueue support



gm20b PMU firmware is driven by a msgqueue, so connect relevant PMU
hooks to their msgqueue counterparts.

Signed-off-by: default avatarAlexandre Courbot <acourbot@nvidia.com>
Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent fc127457
Loading
Loading
Loading
Loading
+17 −2
Original line number Diff line number Diff line
@@ -20,15 +20,30 @@
 * DEALINGS IN THE SOFTWARE.
 */

#include <engine/falcon.h>
#include <core/msgqueue.h>
#include "priv.h"

static void
gm20b_pmu_recv(struct nvkm_pmu *pmu)
{
	nvkm_msgqueue_recv(pmu->queue);
}

static const struct nvkm_pmu_func
gm20b_pmu = {
	.reset = gt215_pmu_reset,
	.intr = gt215_pmu_intr,
	.recv = gm20b_pmu_recv,
};

int
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;
}