@ -1774,37 +1774,35 @@ static int sba_proc_info(struct seq_file *m, void *p)
# ifdef SBA_COLLECT_STATS
unsigned long avg = 0 , min , max ;
# endif
int i , len = 0 ;
len + = seq_printf ( m , " %s rev %d.%d \n " ,
sba_dev - > name ,
( sba_dev - > hw_rev & 0x7 ) + 1 ,
( sba_dev - > hw_rev & 0x18 ) > > 3
) ;
len + = seq_printf ( m , " IO PDIR size : %d bytes (%d entries) \n " ,
( int ) ( ( ioc - > res_size < < 3 ) * sizeof ( u64 ) ) , /* 8 bits/byte */
total_pages ) ;
len + = seq_printf ( m , " Resource bitmap : %d bytes (%d pages) \n " ,
ioc - > res_size , ioc - > res_size < < 3 ) ; /* 8 bits per byte */
len + = seq_printf ( m , " LMMIO_BASE/MASK/ROUTE %08x %08x %08x \n " ,
READ_REG32 ( sba_dev - > sba_hpa + LMMIO_DIST_BASE ) ,
READ_REG32 ( sba_dev - > sba_hpa + LMMIO_DIST_MASK ) ,
READ_REG32 ( sba_dev - > sba_hpa + LMMIO_DIST_ROUTE )
) ;
int i ;
seq_printf ( m , " %s rev %d.%d \n " ,
sba_dev - > name ,
( sba_dev - > hw_rev & 0x7 ) + 1 ,
( sba_dev - > hw_rev & 0x18 ) > > 3 ) ;
seq_printf ( m , " IO PDIR size : %d bytes (%d entries) \n " ,
( int ) ( ( ioc - > res_size < < 3 ) * sizeof ( u64 ) ) , /* 8 bits/byte */
total_pages ) ;
seq_printf ( m , " Resource bitmap : %d bytes (%d pages) \n " ,
ioc - > res_size , ioc - > res_size < < 3 ) ; /* 8 bits per byte */
seq_printf ( m , " LMMIO_BASE/MASK/ROUTE %08x %08x %08x \n " ,
READ_REG32 ( sba_dev - > sba_hpa + LMMIO_DIST_BASE ) ,
READ_REG32 ( sba_dev - > sba_hpa + LMMIO_DIST_MASK ) ,
READ_REG32 ( sba_dev - > sba_hpa + LMMIO_DIST_ROUTE ) ) ;
for ( i = 0 ; i < 4 ; i + + )
len + = seq_printf ( m , " DIR%d_BASE/MASK/ROUTE %08x %08x %08x \n " , i ,
READ_REG32 ( sba_dev - > sba_hpa + LMMIO_DIRECT0_BASE + i * 0x18 ) ,
READ_REG32 ( sba_dev - > sba_hpa + LMMIO_DIRECT0_MASK + i * 0x18 ) ,
READ_REG32 ( sba_dev - > sba_hpa + LMMIO_DIRECT0_ROUTE + i * 0x18 )
) ;
seq_printf ( m , " DIR%d_BASE/MASK/ROUTE %08x %08x %08x \n " ,
i ,
READ_REG32 ( sba_dev - > sba_hpa + LMMIO_DIRECT0_BASE + i * 0x18 ) ,
READ_REG32 ( sba_dev - > sba_hpa + LMMIO_DIRECT0_MASK + i * 0x18 ) ,
READ_REG32 ( sba_dev - > sba_hpa + LMMIO_DIRECT0_ROUTE + i * 0x18 ) ) ;
# ifdef SBA_COLLECT_STATS
len + = seq_printf ( m , " IO PDIR entries : %ld free %ld used (%d%%) \n " ,
total_pages - ioc - > used_pages , ioc - > used_pages ,
( int ) ( ioc - > used_pages * 100 / total_pages ) ) ;
seq_printf ( m , " IO PDIR entries : %ld free %ld used (%d%%) \n " ,
total_pages - ioc - > used_pages , ioc - > used_pages ,
( int ) ( ioc - > used_pages * 100 / total_pages ) ) ;
min = max = ioc - > avg_search [ 0 ] ;
for ( i = 0 ; i < SBA_SEARCH_SAMPLE ; i + + ) {
@ -1813,26 +1811,26 @@ static int sba_proc_info(struct seq_file *m, void *p)
if ( ioc - > avg_search [ i ] < min ) min = ioc - > avg_search [ i ] ;
}
avg / = SBA_SEARCH_SAMPLE ;
len + = seq_printf ( m , " Bitmap search : %ld/%ld/%ld (min/avg/max CPU Cycles) \n " ,
min , avg , max ) ;
seq_printf ( m , " Bitmap search : %ld/%ld/%ld (min/avg/max CPU Cycles) \n " ,
min , avg , max ) ;
len + = seq_printf ( m , " pci_map_single(): %12ld calls %12ld pages (avg %d/1000) \n " ,
ioc - > msingle_calls , ioc - > msingle_pages ,
( int ) ( ( ioc - > msingle_pages * 1000 ) / ioc - > msingle_calls ) ) ;
seq_printf ( m , " pci_map_single(): %12ld calls %12ld pages (avg %d/1000) \n " ,
ioc - > msingle_calls , ioc - > msingle_pages ,
( int ) ( ( ioc - > msingle_pages * 1000 ) / ioc - > msingle_calls ) ) ;
/* KLUGE - unmap_sg calls unmap_single for each mapped page */
min = ioc - > usingle_calls ;
max = ioc - > usingle_pages - ioc - > usg_pages ;
len + = seq_printf ( m , " pci_unmap_single: %12ld calls %12ld pages (avg %d/1000) \n " ,
min , max , ( int ) ( ( max * 1000 ) / min ) ) ;
seq_printf ( m , " pci_unmap_single: %12ld calls %12ld pages (avg %d/1000) \n " ,
min , max , ( int ) ( ( max * 1000 ) / min ) ) ;
len + = seq_printf ( m , " pci_map_sg() : %12ld calls %12ld pages (avg %d/1000) \n " ,
ioc - > msg_calls , ioc - > msg_pages ,
( int ) ( ( ioc - > msg_pages * 1000 ) / ioc - > msg_calls ) ) ;
seq_printf ( m , " pci_map_sg() : %12ld calls %12ld pages (avg %d/1000) \n " ,
ioc - > msg_calls , ioc - > msg_pages ,
( int ) ( ( ioc - > msg_pages * 1000 ) / ioc - > msg_calls ) ) ;
len + = seq_printf ( m , " pci_unmap_sg() : %12ld calls %12ld pages (avg %d/1000) \n " ,
ioc - > usg_calls , ioc - > usg_pages ,
( int ) ( ( ioc - > usg_pages * 1000 ) / ioc - > usg_calls ) ) ;
seq_printf ( m , " pci_unmap_sg() : %12ld calls %12ld pages (avg %d/1000) \n " ,
ioc - > usg_calls , ioc - > usg_pages ,
( int ) ( ( ioc - > usg_pages * 1000 ) / ioc - > usg_calls ) ) ;
# endif
return 0 ;
@ -1858,14 +1856,14 @@ sba_proc_bitmap_info(struct seq_file *m, void *p)
struct sba_device * sba_dev = sba_list ;
struct ioc * ioc = & sba_dev - > ioc [ 0 ] ; /* FIXME: Multi-IOC support! */
unsigned int * res_ptr = ( unsigned int * ) ioc - > res_map ;
int i , len = 0 ;
int i ;
for ( i = 0 ; i < ( ioc - > res_size / sizeof ( unsigned int ) ) ; + + i , + + res_ptr ) {
if ( ( i & 7 ) = = 0 )
len + = seq_printf ( m , " \n " ) ;
len + = seq_printf ( m , " %08x " , * res_ptr ) ;
seq_puts ( m , " \n " ) ;
seq_printf ( m , " %08x " , * res_ptr ) ;
}
len + = seq_printf ( m , " \n " ) ;
seq_putc ( m , ' \n ' ) ;
return 0 ;
}