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

Commit 2b80bb74 authored by Ben Skeggs's avatar Ben Skeggs
Browse files

drm/nouveau/secboot: use nvkm_mc_intr_mask/unmask()



Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent 8a90b6fe
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -43,8 +43,8 @@ struct nvkm_secboot {
	const struct nvkm_secboot_func *func;
	struct nvkm_subdev subdev;

	enum nvkm_devidx devidx;
	u32 base;
	u32 irq_mask;
	u32 enable_mask;
};
#define nvkm_secboot(p) container_of((p), struct nvkm_secboot, subdev)
+5 −6
Original line number Diff line number Diff line
@@ -19,8 +19,9 @@
 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
 * DEALINGS IN THE SOFTWARE.
 */

#include "priv.h"

#include <subdev/mc.h>
#include <subdev/timer.h>

static const char *
@@ -85,8 +86,7 @@ nvkm_secboot_falcon_enable(struct nvkm_secboot *sb)

	/* enable IRQs */
	nvkm_wr32(device, sb->base + 0x010, 0xff);
	nvkm_mask(device, 0x640, sb->irq_mask, sb->irq_mask);
	nvkm_mask(device, 0x644, sb->irq_mask, sb->irq_mask);
	nvkm_mc_intr_mask(device, sb->devidx, true);

	return 0;
}
@@ -97,8 +97,7 @@ nvkm_secboot_falcon_disable(struct nvkm_secboot *sb)
	struct nvkm_device *device = sb->subdev.device;

	/* disable IRQs and wait for any previous code to complete */
	nvkm_mask(device, 0x644, sb->irq_mask, 0x0);
	nvkm_mask(device, 0x640, sb->irq_mask, 0x0);
	nvkm_mc_intr_mask(device, sb->devidx, false);
	nvkm_wr32(device, sb->base + 0x014, 0xff);

	falcon_wait_idle(device, sb->base);
@@ -270,8 +269,8 @@ nvkm_secboot_ctor(const struct nvkm_secboot_func *func,
	/* setup the performing falcon's base address and masks */
	switch (func->boot_falcon) {
	case NVKM_SECBOOT_FALCON_PMU:
		sb->devidx = NVKM_SUBDEV_PMU;
		sb->base = 0x10a000;
		sb->irq_mask = 0x1000000;
		sb->enable_mask = 0x2000;
		break;
	default: