Lines Matching full:pi

47 static int frpw_read_regr( PIA *pi, int cont, int regr )  in frpw_read_regr()  argument
63 static void frpw_write_regr( PIA *pi, int cont, int regr, int val) in frpw_write_regr() argument
74 static void frpw_read_block_int( PIA *pi, char * buf, int count, int regr ) in frpw_read_block_int() argument
78 switch(pi->mode) { in frpw_read_block_int()
135 static void frpw_read_block( PIA *pi, char * buf, int count) in frpw_read_block() argument
137 { frpw_read_block_int(pi,buf,count,0x08); in frpw_read_block()
140 static void frpw_write_block( PIA *pi, char * buf, int count ) in frpw_write_block() argument
144 switch(pi->mode) { in frpw_write_block()
173 static void frpw_connect ( PIA *pi ) in frpw_connect() argument
175 { pi->saved_r0 = r0(); in frpw_connect()
176 pi->saved_r2 = r2(); in frpw_connect()
180 static void frpw_disconnect ( PIA *pi ) in frpw_disconnect() argument
183 w0(pi->saved_r0); in frpw_disconnect()
184 w2(pi->saved_r2); in frpw_disconnect()
191 static int frpw_test_pnp ( PIA *pi ) in frpw_test_pnp() argument
202 olddelay = pi->delay; in frpw_test_pnp()
203 pi->delay = 10; in frpw_test_pnp()
205 pi->saved_r0 = r0(); in frpw_test_pnp()
206 pi->saved_r2 = r2(); in frpw_test_pnp()
212 pi->delay = olddelay; in frpw_test_pnp()
213 w0(pi->saved_r0); in frpw_test_pnp()
214 w2(pi->saved_r2); in frpw_test_pnp()
219 /* We use the pi->private to remember the result of the PNP test.
224 static int frpw_test_proto( PIA *pi, char * scratch, int verbose ) in frpw_test_proto() argument
229 if ((pi->private>>1) != pi->port) in frpw_test_proto()
230 pi->private = frpw_test_pnp(pi) + 2*pi->port; in frpw_test_proto()
232 if (((pi->private%2) == 0) && (pi->mode > 2)) { in frpw_test_proto()
235 pi->device, pi->mode); in frpw_test_proto()
239 if (((pi->private%2) == 1) && (pi->mode == 2)) { in frpw_test_proto()
242 pi->device); in frpw_test_proto()
246 frpw_connect(pi); in frpw_test_proto()
248 frpw_write_regr(pi,0,6,0xa0+j*0x10); in frpw_test_proto()
250 frpw_write_regr(pi,0,2,k^0xaa); in frpw_test_proto()
251 frpw_write_regr(pi,0,3,k^0x55); in frpw_test_proto()
252 if (frpw_read_regr(pi,0,2) != (k^0xaa)) e[j]++; in frpw_test_proto()
255 frpw_disconnect(pi); in frpw_test_proto()
257 frpw_connect(pi); in frpw_test_proto()
258 frpw_read_block_int(pi,scratch,512,0x10); in frpw_test_proto()
261 frpw_disconnect(pi); in frpw_test_proto()
265 pi->device,pi->port,(pi->private%2),pi->mode,e[0],e[1],r); in frpw_test_proto()
272 static void frpw_log_adapter( PIA *pi, char * scratch, int verbose ) in frpw_log_adapter() argument
277 printk("%s: frpw %s, Freecom (%s) adapter at 0x%x, ", pi->device, in frpw_log_adapter()
278 FRPW_VERSION,((pi->private%2) == 0)?"Xilinx":"ASIC",pi->port); in frpw_log_adapter()
279 printk("mode %d (%s), delay %d\n",pi->mode, in frpw_log_adapter()
280 mode_string[pi->mode],pi->delay); in frpw_log_adapter()