Commit ab4d309d authored by Tony Lindgren's avatar Tony Lindgren
Browse files

bus: ti-sysc: Improve reset to work with modules with no sysconfig



At least display susbsystem (DSS) has modules with no sysconfig registers
and rely on custom function for module reset handling. Let's make reset
work with that too.

Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
parent e64c021f
Loading
Loading
Loading
Loading
+6 −4
Original line number Diff line number Diff line
@@ -1571,7 +1571,7 @@ static int sysc_reset(struct sysc *ddata)
	sysc_offset = ddata->offsets[SYSC_SYSCONFIG];
	syss_offset = ddata->offsets[SYSC_SYSSTATUS];

	if (ddata->legacy_mode || sysc_offset < 0 ||
	if (ddata->legacy_mode ||
	    ddata->cap->regbits->srst_shift < 0 ||
	    ddata->cfg.quirks & SYSC_QUIRK_NO_RESET_ON_INIT)
		return 0;
@@ -1586,9 +1586,11 @@ static int sysc_reset(struct sysc *ddata)
	if (ddata->pre_reset_quirk)
		ddata->pre_reset_quirk(ddata);

	if (sysc_offset >= 0) {
		sysc_val = sysc_read_sysconfig(ddata);
		sysc_val |= sysc_mask;
		sysc_write(ddata, sysc_offset, sysc_val);
	}

	if (ddata->cfg.srst_udelay)
		usleep_range(ddata->cfg.srst_udelay,