Hey Aravind, Just a couple quick comments (inline below).. overall patchset looks to be in reasonably good shape. It would be nice if you could resend and CC dri-devel@xxxxxxxxxxxxxxxxxxxxx.. and format-patch as a patchset (so subject lines have the "[PATCH x/y]" since things don't always show up in the inbox in FIFO order). I'll have a closer look and may have a minor nit-pick or two, but the overall structure of things in the patchset looks good. On Thu, Oct 30, 2014 at 5:12 PM, Ganesan, Aravind <aravindg@xxxxxxxxxxxxxx> wrote: > Added a4xx GPU support. > > Signed-off-by: Aravind Ganesan <aravindg@xxxxxxxxxxxxxx> > --- > drivers/gpu/drm/msm/Makefile | 1 + > drivers/gpu/drm/msm/adreno/a4xx_gpu.c | 619 > +++++++++++++++++++++++++++++ > drivers/gpu/drm/msm/adreno/a4xx_gpu.h | 34 ++ > drivers/gpu/drm/msm/adreno/adreno_device.c | 13 + > drivers/gpu/drm/msm/adreno/adreno_gpu.c | 2 +- > drivers/gpu/drm/msm/adreno/adreno_gpu.h | 14 +- > 6 files changed, 680 insertions(+), 3 deletions(-) > create mode 100644 drivers/gpu/drm/msm/adreno/a4xx_gpu.c > create mode 100644 drivers/gpu/drm/msm/adreno/a4xx_gpu.h > diff --git a/drivers/gpu/drm/msm/adreno/a4xx_gpu.c > b/drivers/gpu/drm/msm/adreno/a4xx_gpu.c > new file mode 100644 > index 0000000..f0edac0 > --- /dev/null > +++ b/drivers/gpu/drm/msm/adreno/a4xx_gpu.c [snip] > +static irqreturn_t a4xx_irq(struct msm_gpu *gpu) > +{ > + uint32_t status; > + > + status = gpu_read(gpu, REG_A4XX_RBBM_INT_0_STATUS); > + DBG("%s: Int status %08x", gpu->name, status); > + > + gpu_write(gpu, REG_A4XX_RBBM_INT_CLEAR_CMD, status); > + > + msm_gpu_retire(gpu); > + > + return IRQ_HANDLED; > +} newline pls > +const unsigned int a4xx_registers[] = { > + /* RBBM */ > + 0x0000, 0x0002, 0x0004, 0x0021, 0x0023, 0x0024, 0x0026, 0x0026, > + 0x0028, 0x002B, 0x002E, 0x0034, 0x0037, 0x0044, 0x0047, 0x0066, > + 0x0068, 0x0095, 0x009C, 0x0170, 0x0174, 0x01AF, > + /* CP */ > + 0x0200, 0x0233, 0x0240, 0x0250, 0x04C0, 0x04DD, 0x0500, 0x050B, > + 0x0578, 0x058F, > + /* VSC */ > + 0x0C00, 0x0C03, 0x0C08, 0x0C41, 0x0C50, 0x0C51, > + /* GRAS */ > + 0x0C80, 0x0C81, 0x0C88, 0x0C8F, > + /* RB */ > + 0x0CC0, 0x0CC0, 0x0CC4, 0x0CD2, > + /* PC */ > + 0x0D00, 0x0D0C, 0x0D10, 0x0D17, 0x0D20, 0x0D23, > + /* VFD */ > + 0x0E40, 0x0E4A, > + /* VPC */ > + 0x0E60, 0x0E61, 0x0E63, 0x0E68, > + /* UCHE */ > + 0x0E80, 0x0E84, 0x0E88, 0x0E95, > + /* VMIDMT */ > + 0x1000, 0x1000, 0x1002, 0x1002, 0x1004, 0x1004, 0x1008, 0x100A, > + 0x100C, 0x100D, 0x100F, 0x1010, 0x1012, 0x1016, 0x1024, 0x1024, > + 0x1027, 0x1027, 0x1100, 0x1100, 0x1102, 0x1102, 0x1104, 0x1104, > + 0x1110, 0x1110, 0x1112, 0x1116, 0x1124, 0x1124, 0x1300, 0x1300, > + 0x1380, 0x1380, > + /* GRAS CTX 0 */ > + 0x2000, 0x2004, 0x2008, 0x2067, 0x2070, 0x2078, 0x207B, 0x216E, > + /* PC CTX 0 */ > + 0x21C0, 0x21C6, 0x21D0, 0x21D0, 0x21D9, 0x21D9, 0x21E5, 0x21E7, > + /* VFD CTX 0 */ > + 0x2200, 0x2204, 0x2208, 0x22A9, > + /* GRAS CTX 1 */ > + 0x2400, 0x2404, 0x2408, 0x2467, 0x2470, 0x2478, 0x247B, 0x256E, > + /* PC CTX 1 */ > + 0x25C0, 0x25C6, 0x25D0, 0x25D0, 0x25D9, 0x25D9, 0x25E5, 0x25E7, > + /* VFD CTX 1 */ > + 0x2600, 0x2604, 0x2608, 0x26A9, > + /* XPU */ > + 0x2C00, 0x2C01, 0x2C10, 0x2C10, 0x2C12, 0x2C16, 0x2C1D, 0x2C20, > + 0x2C28, 0x2C28, 0x2C30, 0x2C30, 0x2C32, 0x2C36, 0x2C40, 0x2C40, > + 0x2C50, 0x2C50, 0x2C52, 0x2C56, 0x2C80, 0x2C80, 0x2C94, 0x2C95, > + /* VBIF */ > + 0x3000, 0x3007, 0x300C, 0x3014, 0x3018, 0x301D, 0x3020, 0x3022, > + 0x3024, 0x3026, 0x3028, 0x302A, 0x302C, 0x302D, 0x3030, 0x3031, > + 0x3034, 0x3036, 0x3038, 0x3038, 0x303C, 0x303D, 0x3040, 0x3040, > + 0x3049, 0x3049, 0x3058, 0x3058, 0x305B, 0x3061, 0x3064, 0x3068, > + 0x306C, 0x306D, 0x3080, 0x3088, 0x308B, 0x308C, 0x3090, 0x3094, > + 0x3098, 0x3098, 0x309C, 0x309C, 0x30C0, 0x30C0, 0x30C8, 0x30C8, > + 0x30D0, 0x30D0, 0x30D8, 0x30D8, 0x30E0, 0x30E0, 0x3100, 0x3100, > + 0x3108, 0x3108, 0x3110, 0x3110, 0x3118, 0x3118, 0x3120, 0x3120, > + 0x3124, 0x3125, 0x3129, 0x3129, 0x3131, 0x3131, 0x330C, 0x330C, > + 0x3310, 0x3310, 0x3400, 0x3401, 0x3410, 0x3410, 0x3412, 0x3416, > + 0x341D, 0x3420, 0x3428, 0x3428, 0x3430, 0x3430, 0x3432, 0x3436, > + 0x3440, 0x3440, 0x3450, 0x3450, 0x3452, 0x3456, 0x3480, 0x3480, > + 0x3494, 0x3495, 0x4000, 0x4000, 0x4002, 0x4002, 0x4004, 0x4004, > + 0x4008, 0x400A, 0x400C, 0x400D, 0x400F, 0x4012, 0x4014, 0x4016, > + 0x401D, 0x401D, 0x4020, 0x4027, 0x4060, 0x4062, 0x4200, 0x4200, > + 0x4300, 0x4300, 0x4400, 0x4400, 0x4500, 0x4500, 0x4800, 0x4802, > + 0x480F, 0x480F, 0x4811, 0x4811, 0x4813, 0x4813, 0x4815, 0x4816, > + 0x482B, 0x482B, 0x4857, 0x4857, 0x4883, 0x4883, 0x48AF, 0x48AF, > + 0x48C5, 0x48C5, 0x48E5, 0x48E5, 0x4905, 0x4905, 0x4925, 0x4925, > + 0x4945, 0x4945, 0x4950, 0x4950, 0x495B, 0x495B, 0x4980, 0x498E, > + 0x4B00, 0x4B00, 0x4C00, 0x4C00, 0x4D00, 0x4D00, 0x4E00, 0x4E00, > + 0x4E80, 0x4E80, 0x4F00, 0x4F00, 0x4F08, 0x4F08, 0x4F10, 0x4F10, > + 0x4F18, 0x4F18, 0x4F20, 0x4F20, 0x4F30, 0x4F30, 0x4F60, 0x4F60, > + 0x4F80, 0x4F81, 0x4F88, 0x4F89, 0x4FEE, 0x4FEE, 0x4FF3, 0x4FF3, > + 0x6000, 0x6001, 0x6008, 0x600F, 0x6014, 0x6016, 0x6018, 0x601B, > + 0x61FD, 0x61FD, 0x623C, 0x623C, 0x6380, 0x6380, 0x63A0, 0x63A0, > + 0x63C0, 0x63C1, 0x63C8, 0x63C9, 0x63D0, 0x63D4, 0x63D6, 0x63D6, > + 0x63EE, 0x63EE, 0x6400, 0x6401, 0x6408, 0x640F, 0x6414, 0x6416, > + 0x6418, 0x641B, 0x65FD, 0x65FD, 0x663C, 0x663C, 0x6780, 0x6780, > + 0x67A0, 0x67A0, 0x67C0, 0x67C1, 0x67C8, 0x67C9, 0x67D0, 0x67D4, > + 0x67D6, 0x67D6, 0x67EE, 0x67EE, 0x6800, 0x6801, 0x6808, 0x680F, > + 0x6814, 0x6816, 0x6818, 0x681B, 0x69FD, 0x69FD, 0x6A3C, 0x6A3C, > + 0x6B80, 0x6B80, 0x6BA0, 0x6BA0, 0x6BC0, 0x6BC1, 0x6BC8, 0x6BC9, > + 0x6BD0, 0x6BD4, 0x6BD6, 0x6BD6, 0x6BEE, 0x6BEE, > +}; > + you'll need a ~0 sentinel at the end of that.. which was something I added recently. BR, -R _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel