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

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

Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent 8a90b6fe
...@@ -43,8 +43,8 @@ struct nvkm_secboot { ...@@ -43,8 +43,8 @@ struct nvkm_secboot {
const struct nvkm_secboot_func *func; const struct nvkm_secboot_func *func;
struct nvkm_subdev subdev; struct nvkm_subdev subdev;
enum nvkm_devidx devidx;
u32 base; u32 base;
u32 irq_mask;
u32 enable_mask; u32 enable_mask;
}; };
#define nvkm_secboot(p) container_of((p), struct nvkm_secboot, subdev) #define nvkm_secboot(p) container_of((p), struct nvkm_secboot, subdev)
......
...@@ -19,8 +19,9 @@ ...@@ -19,8 +19,9 @@
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE. * DEALINGS IN THE SOFTWARE.
*/ */
#include "priv.h" #include "priv.h"
#include <subdev/mc.h>
#include <subdev/timer.h> #include <subdev/timer.h>
static const char * static const char *
...@@ -85,8 +86,7 @@ nvkm_secboot_falcon_enable(struct nvkm_secboot *sb) ...@@ -85,8 +86,7 @@ nvkm_secboot_falcon_enable(struct nvkm_secboot *sb)
/* enable IRQs */ /* enable IRQs */
nvkm_wr32(device, sb->base + 0x010, 0xff); nvkm_wr32(device, sb->base + 0x010, 0xff);
nvkm_mask(device, 0x640, sb->irq_mask, sb->irq_mask); nvkm_mc_intr_mask(device, sb->devidx, true);
nvkm_mask(device, 0x644, sb->irq_mask, sb->irq_mask);
return 0; return 0;
} }
...@@ -97,8 +97,7 @@ nvkm_secboot_falcon_disable(struct nvkm_secboot *sb) ...@@ -97,8 +97,7 @@ nvkm_secboot_falcon_disable(struct nvkm_secboot *sb)
struct nvkm_device *device = sb->subdev.device; struct nvkm_device *device = sb->subdev.device;
/* disable IRQs and wait for any previous code to complete */ /* disable IRQs and wait for any previous code to complete */
nvkm_mask(device, 0x644, sb->irq_mask, 0x0); nvkm_mc_intr_mask(device, sb->devidx, false);
nvkm_mask(device, 0x640, sb->irq_mask, 0x0);
nvkm_wr32(device, sb->base + 0x014, 0xff); nvkm_wr32(device, sb->base + 0x014, 0xff);
falcon_wait_idle(device, sb->base); falcon_wait_idle(device, sb->base);
...@@ -270,8 +269,8 @@ nvkm_secboot_ctor(const struct nvkm_secboot_func *func, ...@@ -270,8 +269,8 @@ nvkm_secboot_ctor(const struct nvkm_secboot_func *func,
/* setup the performing falcon's base address and masks */ /* setup the performing falcon's base address and masks */
switch (func->boot_falcon) { switch (func->boot_falcon) {
case NVKM_SECBOOT_FALCON_PMU: case NVKM_SECBOOT_FALCON_PMU:
sb->devidx = NVKM_SUBDEV_PMU;
sb->base = 0x10a000; sb->base = 0x10a000;
sb->irq_mask = 0x1000000;
sb->enable_mask = 0x2000; sb->enable_mask = 0x2000;
break; break;
default: default:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment