Loading drivers/bus/ti-sysc.c +10 −0 Original line number Diff line number Diff line Loading @@ -157,6 +157,7 @@ struct sysc { static void sysc_parse_dts_quirks(struct sysc *ddata, struct device_node *np, bool is_child); static int sysc_reset(struct sysc *ddata); static void sysc_write(struct sysc *ddata, int offset, u32 value) { Loading Loading @@ -1440,6 +1441,15 @@ static int sysc_reinit_module(struct sysc *ddata, bool leave_enabled) if (error) dev_warn(dev, "reinit resume failed: %i\n", error); /* Some modules like am335x gpmc need reset and restore of sysconfig */ if (ddata->cfg.quirks & SYSC_QUIRK_RESET_ON_CTX_LOST) { error = sysc_reset(ddata); if (error) dev_warn(dev, "reinit reset failed: %i\n", error); sysc_write_sysconfig(ddata, ddata->sysconfig); } if (leave_enabled) return error; Loading include/linux/platform_data/ti-sysc.h +1 −0 Original line number Diff line number Diff line Loading @@ -50,6 +50,7 @@ struct sysc_regbits { s8 emufree_shift; }; #define SYSC_QUIRK_RESET_ON_CTX_LOST BIT(29) #define SYSC_QUIRK_REINIT_ON_CTX_LOST BIT(28) #define SYSC_QUIRK_REINIT_ON_RESUME BIT(27) #define SYSC_QUIRK_GPMC_DEBUG BIT(26) Loading Loading
drivers/bus/ti-sysc.c +10 −0 Original line number Diff line number Diff line Loading @@ -157,6 +157,7 @@ struct sysc { static void sysc_parse_dts_quirks(struct sysc *ddata, struct device_node *np, bool is_child); static int sysc_reset(struct sysc *ddata); static void sysc_write(struct sysc *ddata, int offset, u32 value) { Loading Loading @@ -1440,6 +1441,15 @@ static int sysc_reinit_module(struct sysc *ddata, bool leave_enabled) if (error) dev_warn(dev, "reinit resume failed: %i\n", error); /* Some modules like am335x gpmc need reset and restore of sysconfig */ if (ddata->cfg.quirks & SYSC_QUIRK_RESET_ON_CTX_LOST) { error = sysc_reset(ddata); if (error) dev_warn(dev, "reinit reset failed: %i\n", error); sysc_write_sysconfig(ddata, ddata->sysconfig); } if (leave_enabled) return error; Loading
include/linux/platform_data/ti-sysc.h +1 −0 Original line number Diff line number Diff line Loading @@ -50,6 +50,7 @@ struct sysc_regbits { s8 emufree_shift; }; #define SYSC_QUIRK_RESET_ON_CTX_LOST BIT(29) #define SYSC_QUIRK_REINIT_ON_CTX_LOST BIT(28) #define SYSC_QUIRK_REINIT_ON_RESUME BIT(27) #define SYSC_QUIRK_GPMC_DEBUG BIT(26) Loading