Unverified Commit a2d266a8 authored by Arnd Bergmann's avatar Arnd Bergmann
Browse files

Merge tag 'v5.17-next-soc.2' of...

Merge tag 'v5.17-next-soc.2' of git://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux into arm/drivers

mmsys: fix compilation by adding SW reset infrastructure

* tag 'v5.17-next-soc.2' of git://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux:
  soc: mediatek: mmsys: add sw0_rst_offset in mmsys driver data

Link: https://lore.kernel.org/r/e1b90372-a041-db6e-f35a-d17b26069e40@gmail.com


Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parents 4d558d4d 62dc3015
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -25,6 +25,8 @@
#define MT8183_RDMA0_SOUT_COLOR0		0x1
#define MT8183_RDMA1_SOUT_DSI0			0x1

#define MT8183_MMSYS_SW0_RST_B			0x140

static const struct mtk_mmsys_routes mmsys_mt8183_routing_table[] = {
	{
		DDP_COMPONENT_OVL0, DDP_COMPONENT_OVL_2L0,
+4 −2
Original line number Diff line number Diff line
@@ -49,12 +49,14 @@ static const struct mtk_mmsys_driver_data mt8173_mmsys_driver_data = {
	.clk_driver = "clk-mt8173-mm",
	.routes = mmsys_default_routing_table,
	.num_routes = ARRAY_SIZE(mmsys_default_routing_table),
	.sw0_rst_offset = MT8183_MMSYS_SW0_RST_B,
};

static const struct mtk_mmsys_driver_data mt8183_mmsys_driver_data = {
	.clk_driver = "clk-mt8183-mm",
	.routes = mmsys_mt8183_routing_table,
	.num_routes = ARRAY_SIZE(mmsys_mt8183_routing_table),
	.sw0_rst_offset = MT8183_MMSYS_SW0_RST_B,
};

static const struct mtk_mmsys_driver_data mt8186_mmsys_driver_data = {
@@ -129,14 +131,14 @@ static int mtk_mmsys_reset_update(struct reset_controller_dev *rcdev, unsigned l

	spin_lock_irqsave(&mmsys->lock, flags);

	reg = readl_relaxed(mmsys->regs + MMSYS_SW0_RST_B);
	reg = readl_relaxed(mmsys->regs + mmsys->data->sw0_rst_offset);

	if (assert)
		reg &= ~BIT(id);
	else
		reg |= BIT(id);

	writel_relaxed(reg, mmsys->regs + MMSYS_SW0_RST_B);
	writel_relaxed(reg, mmsys->regs + mmsys->data->sw0_rst_offset);

	spin_unlock_irqrestore(&mmsys->lock, flags);

+1 −2
Original line number Diff line number Diff line
@@ -78,8 +78,6 @@
#define DSI_SEL_IN_RDMA				0x1
#define DSI_SEL_IN_MASK				0x1

#define MMSYS_SW0_RST_B				0x140

struct mtk_mmsys_routes {
	u32 from_comp;
	u32 to_comp;
@@ -92,6 +90,7 @@ struct mtk_mmsys_driver_data {
	const char *clk_driver;
	const struct mtk_mmsys_routes *routes;
	const unsigned int num_routes;
	const u16 sw0_rst_offset;
};

/*