Lines Matching refs:pdata

100 static inline int sgpio_bit_shift(struct ecx_plat_data *pdata, u32 port,  in sgpio_bit_shift()  argument
103 return 1 << (3 * pdata->port_to_sgpio[port] + shift); in sgpio_bit_shift()
106 static void ecx_parse_sgpio(struct ecx_plat_data *pdata, u32 port, u32 state) in ecx_parse_sgpio() argument
109 pdata->sgpio_pattern |= sgpio_bit_shift(pdata, port, in ecx_parse_sgpio()
112 pdata->sgpio_pattern &= ~sgpio_bit_shift(pdata, port, in ecx_parse_sgpio()
115 pdata->sgpio_pattern |= sgpio_bit_shift(pdata, port, in ecx_parse_sgpio()
118 pdata->sgpio_pattern &= ~sgpio_bit_shift(pdata, port, in ecx_parse_sgpio()
121 pdata->sgpio_pattern |= sgpio_bit_shift(pdata, port, in ecx_parse_sgpio()
124 pdata->sgpio_pattern &= ~sgpio_bit_shift(pdata, port, in ecx_parse_sgpio()
132 static void ecx_led_cycle_clock(struct ecx_plat_data *pdata) in ecx_led_cycle_clock() argument
134 gpio_set_value(pdata->sgpio_gpio[SCLOCK], 1); in ecx_led_cycle_clock()
136 gpio_set_value(pdata->sgpio_gpio[SCLOCK], 0); in ecx_led_cycle_clock()
144 struct ecx_plat_data *pdata = hpriv->plat_data; in ecx_transmit_led_message() local
162 ecx_parse_sgpio(pdata, ap->port_no, state); in ecx_transmit_led_message()
163 sgpio_out = pdata->sgpio_pattern; in ecx_transmit_led_message()
164 for (i = 0; i < pdata->pre_clocks; i++) in ecx_transmit_led_message()
165 ecx_led_cycle_clock(pdata); in ecx_transmit_led_message()
167 gpio_set_value(pdata->sgpio_gpio[SLOAD], 1); in ecx_transmit_led_message()
168 ecx_led_cycle_clock(pdata); in ecx_transmit_led_message()
169 gpio_set_value(pdata->sgpio_gpio[SLOAD], 0); in ecx_transmit_led_message()
174 for (i = 0; i < (SGPIO_SIGNALS * pdata->n_ports); i++) { in ecx_transmit_led_message()
175 gpio_set_value(pdata->sgpio_gpio[SDATA], sgpio_out & 1); in ecx_transmit_led_message()
177 ecx_led_cycle_clock(pdata); in ecx_transmit_led_message()
179 for (i = 0; i < pdata->post_clocks; i++) in ecx_transmit_led_message()
180 ecx_led_cycle_clock(pdata); in ecx_transmit_led_message()
194 struct ecx_plat_data *pdata = hpriv->plat_data; in highbank_set_em_messages() local
203 pdata->sgpio_gpio[i] = err; in highbank_set_em_messages()
204 err = gpio_request(pdata->sgpio_gpio[i], "CX SGPIO"); in highbank_set_em_messages()
210 gpio_direction_output(pdata->sgpio_gpio[i], 1); in highbank_set_em_messages()
213 pdata->port_to_sgpio, in highbank_set_em_messages()
214 pdata->n_ports); in highbank_set_em_messages()
215 if (of_property_read_u32(np, "calxeda,pre-clocks", &pdata->pre_clocks)) in highbank_set_em_messages()
216 pdata->pre_clocks = 0; in highbank_set_em_messages()
218 &pdata->post_clocks)) in highbank_set_em_messages()
219 pdata->post_clocks = 0; in highbank_set_em_messages()
469 struct ecx_plat_data *pdata; in ahci_highbank_probe() local
496 pdata = devm_kzalloc(dev, sizeof(*pdata), GFP_KERNEL); in ahci_highbank_probe()
497 if (!pdata) { in ahci_highbank_probe()
534 pdata->n_ports = n_ports; in ahci_highbank_probe()
535 hpriv->plat_data = pdata; in ahci_highbank_probe()