mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-08-31 12:52:29 -04:00
Merge tag 'pinctrl-qcom-fixes-for-v7.2' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux into devel
Qualcomm pin control fixes for v7.2 - fix intr_target_width for summary interrupt routing in pinctrl-shikra Signed-off-by: Linus Walleij <linusw@kernel.org>
This commit is contained in:
@@ -480,7 +480,7 @@ static const char * const ps_hold_groups[] = {
|
||||
};
|
||||
|
||||
static const struct pinfunction ipq8064_functions[] = {
|
||||
IPQ_PIN_FUNCTION(gpio),
|
||||
IPQ_GPIO_PIN_FUNCTION(gpio),
|
||||
IPQ_PIN_FUNCTION(mdio),
|
||||
IPQ_PIN_FUNCTION(ssbi),
|
||||
IPQ_PIN_FUNCTION(spmi),
|
||||
@@ -507,19 +507,19 @@ static const struct pinfunction ipq8064_functions[] = {
|
||||
IPQ_PIN_FUNCTION(usb2_hsic),
|
||||
IPQ_PIN_FUNCTION(rgmii2),
|
||||
IPQ_PIN_FUNCTION(sata),
|
||||
IPQ_PIN_FUNCTION(pcie1_rst),
|
||||
IPQ_GPIO_PIN_FUNCTION(pcie1_rst),
|
||||
IPQ_PIN_FUNCTION(pcie1_prsnt),
|
||||
IPQ_PIN_FUNCTION(pcie1_pwren_n),
|
||||
IPQ_PIN_FUNCTION(pcie1_pwren),
|
||||
IPQ_PIN_FUNCTION(pcie1_pwrflt),
|
||||
IPQ_PIN_FUNCTION(pcie1_clk_req),
|
||||
IPQ_PIN_FUNCTION(pcie2_rst),
|
||||
IPQ_GPIO_PIN_FUNCTION(pcie2_rst),
|
||||
IPQ_PIN_FUNCTION(pcie2_prsnt),
|
||||
IPQ_PIN_FUNCTION(pcie2_pwren_n),
|
||||
IPQ_PIN_FUNCTION(pcie2_pwren),
|
||||
IPQ_PIN_FUNCTION(pcie2_pwrflt),
|
||||
IPQ_PIN_FUNCTION(pcie2_clk_req),
|
||||
IPQ_PIN_FUNCTION(pcie3_rst),
|
||||
IPQ_GPIO_PIN_FUNCTION(pcie3_rst),
|
||||
IPQ_PIN_FUNCTION(pcie3_prsnt),
|
||||
IPQ_PIN_FUNCTION(pcie3_pwren_n),
|
||||
IPQ_PIN_FUNCTION(pcie3_pwren),
|
||||
|
||||
@@ -310,11 +310,11 @@ static const char *const audio_sec_mclk_out0_groups[] = {
|
||||
};
|
||||
|
||||
static const char *const audio_sec_mclk_in1_groups[] = {
|
||||
"gpio37",
|
||||
"gpio39",
|
||||
};
|
||||
|
||||
static const char *const audio_sec_mclk_out1_groups[] = {
|
||||
"gpio37",
|
||||
"gpio39",
|
||||
};
|
||||
|
||||
static const char *const audio_sec_groups[] = {
|
||||
|
||||
@@ -1240,12 +1240,12 @@ static int msm_gpio_irq_reqres(struct irq_data *d)
|
||||
/*
|
||||
* If the wakeup_enable bit is present and marked as available for the
|
||||
* requested GPIO, it should be enabled when the GPIO is marked as
|
||||
* wake irq in order to allow the interrupt event to be transfered to
|
||||
* the PDC HW.
|
||||
* wake irq in order to allow the interrupt event to be transferred to
|
||||
* the PDC/MPM HW.
|
||||
* While the name implies only the wakeup event, it's also required for
|
||||
* the interrupt event.
|
||||
*/
|
||||
if (test_bit(d->hwirq, pctrl->skip_wake_irqs) && g->intr_wakeup_present_bit) {
|
||||
if (g->intr_wakeup_present_bit) {
|
||||
u32 intr_cfg;
|
||||
|
||||
raw_spin_lock_irqsave(&pctrl->lock, flags);
|
||||
@@ -1273,7 +1273,7 @@ static void msm_gpio_irq_relres(struct irq_data *d)
|
||||
unsigned long flags;
|
||||
|
||||
/* Disable the wakeup_enable bit if it has been set in msm_gpio_irq_reqres() */
|
||||
if (test_bit(d->hwirq, pctrl->skip_wake_irqs) && g->intr_wakeup_present_bit) {
|
||||
if (g->intr_wakeup_present_bit) {
|
||||
u32 intr_cfg;
|
||||
|
||||
raw_spin_lock_irqsave(&pctrl->lock, flags);
|
||||
|
||||
@@ -24,6 +24,11 @@ struct pinctrl_pin_desc;
|
||||
fname##_groups, \
|
||||
ARRAY_SIZE(fname##_groups))
|
||||
|
||||
#define IPQ_GPIO_PIN_FUNCTION(fname) \
|
||||
[IPQ_MUX_##fname] = PINCTRL_GPIO_PINFUNCTION(#fname, \
|
||||
fname##_groups, \
|
||||
ARRAY_SIZE(fname##_groups))
|
||||
|
||||
#define MSM_PIN_FUNCTION(fname) \
|
||||
[msm_mux_##fname] = PINCTRL_PINFUNCTION(#fname, \
|
||||
fname##_groups, \
|
||||
|
||||
@@ -1881,16 +1881,17 @@ static const struct msm_gpio_wakeirq_map sc8280xp_pdc_map[] = {
|
||||
{ 126, 200 }, { 127, 225 }, { 128, 262 }, { 129, 201 },
|
||||
{ 130, 209 }, { 131, 173 }, { 132, 202 }, { 136, 210 },
|
||||
{ 138, 171 }, { 139, 226 }, { 140, 227 }, { 142, 228 },
|
||||
{ 144, 229 }, { 145, 230 }, { 146, 231 }, { 148, 232 },
|
||||
{ 149, 233 }, { 150, 234 }, { 152, 235 }, { 154, 212 },
|
||||
{ 157, 213 }, { 161, 219 }, { 170, 236 }, { 171, 221 },
|
||||
{ 174, 222 }, { 175, 237 }, { 176, 223 }, { 177, 170 },
|
||||
{ 180, 238 }, { 181, 239 }, { 182, 240 }, { 183, 241 },
|
||||
{ 184, 242 }, { 185, 243 }, { 190, 178 }, { 193, 184 },
|
||||
{ 196, 185 }, { 198, 186 }, { 200, 174 }, { 201, 175 },
|
||||
{ 205, 176 }, { 206, 177 }, { 208, 187 }, { 210, 198 },
|
||||
{ 211, 199 }, { 212, 204 }, { 215, 205 }, { 220, 188 },
|
||||
{ 221, 194 }, { 223, 195 }, { 225, 196 }, { 227, 197 },
|
||||
{ 143, 261 }, { 144, 229 }, { 145, 230 }, { 146, 231 },
|
||||
{ 148, 232 }, { 149, 233 }, { 150, 234 }, { 151, 264 },
|
||||
{ 152, 235 }, { 154, 212 }, { 157, 213 }, { 161, 219 },
|
||||
{ 170, 236 }, { 171, 221 }, { 174, 222 }, { 175, 237 },
|
||||
{ 176, 223 }, { 177, 170 }, { 180, 238 }, { 181, 239 },
|
||||
{ 182, 240 }, { 183, 241 }, { 184, 242 }, { 185, 243 },
|
||||
{ 190, 178 }, { 193, 184 }, { 196, 185 }, { 198, 186 },
|
||||
{ 200, 174 }, { 201, 175 }, { 205, 176 }, { 206, 177 },
|
||||
{ 208, 187 }, { 210, 198 }, { 211, 199 }, { 212, 204 },
|
||||
{ 215, 205 }, { 220, 188 }, { 221, 194 }, { 223, 195 },
|
||||
{ 225, 196 }, { 227, 197 },
|
||||
};
|
||||
|
||||
static struct msm_pinctrl_soc_data sc8280xp_pinctrl = {
|
||||
|
||||
@@ -44,6 +44,7 @@
|
||||
.intr_status_bit = 0, \
|
||||
.intr_wakeup_enable_bit = 7, \
|
||||
.intr_wakeup_present_bit = 6, \
|
||||
.intr_target_width = 4, \
|
||||
.intr_target_bit = 8, \
|
||||
.intr_target_kpss_val = 3, \
|
||||
.intr_raw_status_bit = 4, \
|
||||
|
||||
Reference in New Issue
Block a user