mirror of
https://github.com/torvalds/linux.git
synced 2026-04-22 16:53:59 -04:00
Merge tag 'drm-misc-next-2019-04-04' of git://anongit.freedesktop.org/drm/drm-misc into drm-next
drm-misc-next for 5.2: UAPI Changes: -syncobj: Add TIMELINE_WAIT|QUERY|TRANSFER|TIMELINE_SIGNAL ioctls (Chunming) -Clarify that 1.0 can be represented by drm_color_lut (Daniel) Cross-subsystem Changes: -dt-bindings: Add binding for rk3066 hdmi (Johan) -dt-bindings: Add binding for Feiyang FY07024DI26A30-D panel (Jagan) -dt-bindings: Add Rocktech vendor prefix and jh057n00900 panel bindings (Guido) -MAINTAINERS: Add lima and ASPEED entries (Joel & Qiang) Core Changes: -memory: use dma_alloc_coherent when mem encryption is active (Christian) -dma_buf: add support for a dma_fence chain (Christian) -shmem_gem: fix off-by-one bug in new shmem gem helpers (Dan) Driver Changes: -rockchip: Add support for rk3066 hdmi (Johan) -ASPEED: Add driver supporting ASPEED BMC display controller to drm (Joel) -lima: Add driver supporting Arm Mali4xx gpus to drm (Qiang) -vc4/v3d: Various cleanups and improved error handling (Eric) -panel: Add support for Feiyang FY07024DI26A30-D MIPI-DSI panel (Jagan) -panel: Add support for Rocktech jh057n00900 MIPI-DSI panel (Guido) Cc: Johan Jonker <jbx6244@gmail.com> Cc: Christian König <christian.koenig@amd.com> Cc: Chunming Zhou <david1.zhou@amd.com> Cc: Dan Carpenter <dan.carpenter@oracle.com> Cc: Eric Anholt <eric@anholt.net> Cc: Qiang Yu <yuq825@gmail.com> Cc: Daniel Vetter <daniel.vetter@ffwll.ch> Cc: Jagan Teki <jagan@amarulasolutions.com> Cc: Guido Günther <agx@sigxcpu.org> Cc: Joel Stanley <joel@jms.id.au> [airlied: fixed XA limit build breakage, Rodrigo also submitted the same patch, but I squashed it in the merge.] Signed-off-by: Dave Airlie <airlied@redhat.com> From: Sean Paul <sean@poorly.run> Link: https://patchwork.freedesktop.org/patch/msgid/20190404201016.GA139524@art_vandelay
This commit is contained in:
@@ -148,6 +148,7 @@ struct vc4_txp {
|
||||
struct drm_writeback_connector connector;
|
||||
|
||||
void __iomem *regs;
|
||||
struct debugfs_regset32 regset;
|
||||
};
|
||||
|
||||
static inline struct vc4_txp *encoder_to_vc4_txp(struct drm_encoder *encoder)
|
||||
@@ -160,40 +161,14 @@ static inline struct vc4_txp *connector_to_vc4_txp(struct drm_connector *conn)
|
||||
return container_of(conn, struct vc4_txp, connector.base);
|
||||
}
|
||||
|
||||
#define TXP_REG(reg) { reg, #reg }
|
||||
static const struct {
|
||||
u32 reg;
|
||||
const char *name;
|
||||
} txp_regs[] = {
|
||||
TXP_REG(TXP_DST_PTR),
|
||||
TXP_REG(TXP_DST_PITCH),
|
||||
TXP_REG(TXP_DIM),
|
||||
TXP_REG(TXP_DST_CTRL),
|
||||
TXP_REG(TXP_PROGRESS),
|
||||
static const struct debugfs_reg32 txp_regs[] = {
|
||||
VC4_REG32(TXP_DST_PTR),
|
||||
VC4_REG32(TXP_DST_PITCH),
|
||||
VC4_REG32(TXP_DIM),
|
||||
VC4_REG32(TXP_DST_CTRL),
|
||||
VC4_REG32(TXP_PROGRESS),
|
||||
};
|
||||
|
||||
#ifdef CONFIG_DEBUG_FS
|
||||
int vc4_txp_debugfs_regs(struct seq_file *m, void *unused)
|
||||
{
|
||||
struct drm_info_node *node = (struct drm_info_node *)m->private;
|
||||
struct drm_device *dev = node->minor->dev;
|
||||
struct vc4_dev *vc4 = to_vc4_dev(dev);
|
||||
struct vc4_txp *txp = vc4->txp;
|
||||
int i;
|
||||
|
||||
if (!txp)
|
||||
return 0;
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(txp_regs); i++) {
|
||||
seq_printf(m, "%s (0x%04x): 0x%08x\n",
|
||||
txp_regs[i].name, txp_regs[i].reg,
|
||||
TXP_READ(txp_regs[i].reg));
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
static int vc4_txp_connector_get_modes(struct drm_connector *connector)
|
||||
{
|
||||
struct drm_device *dev = connector->dev;
|
||||
@@ -410,6 +385,9 @@ static int vc4_txp_bind(struct device *dev, struct device *master, void *data)
|
||||
txp->regs = vc4_ioremap_regs(pdev, 0);
|
||||
if (IS_ERR(txp->regs))
|
||||
return PTR_ERR(txp->regs);
|
||||
txp->regset.base = txp->regs;
|
||||
txp->regset.regs = txp_regs;
|
||||
txp->regset.nregs = ARRAY_SIZE(txp_regs);
|
||||
|
||||
drm_connector_helper_add(&txp->connector.base,
|
||||
&vc4_txp_connector_helper_funcs);
|
||||
@@ -428,6 +406,8 @@ static int vc4_txp_bind(struct device *dev, struct device *master, void *data)
|
||||
dev_set_drvdata(dev, txp);
|
||||
vc4->txp = txp;
|
||||
|
||||
vc4_debugfs_add_regset32(drm, "txp_regs", &txp->regset);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user