Browse Source

Remove unused statistics from hashfast driver struct and don't pack hashfast info structs since there is no need for them to match the device ones identically.

nfactor-troky
Con Kolivas 11 years ago
parent
commit
71c6206d08
  1. 9
      driver-hashfast.c
  2. 16
      driver-hashfast.h

9
driver-hashfast.c

@ -537,7 +537,8 @@ static void hfa_update_stats1(struct cgpu_info *hashfast, struct hashfast_info *
s1->usb_tx_endpointstalled += sd->usb_tx_endpointstalled; s1->usb_tx_endpointstalled += sd->usb_tx_endpointstalled;
s1->usb_tx_disconnected += sd->usb_tx_disconnected; s1->usb_tx_disconnected += sd->usb_tx_disconnected;
s1->usb_tx_suspended += sd->usb_tx_suspended; s1->usb_tx_suspended += sd->usb_tx_suspended;
#if 0
/* We don't care about UART stats so they're not in our struct */
s1->uart_tx_queue_dma += sd->uart_tx_queue_dma; s1->uart_tx_queue_dma += sd->uart_tx_queue_dma;
s1->uart_tx_interrupts += sd->uart_tx_interrupts; s1->uart_tx_interrupts += sd->uart_tx_interrupts;
@ -549,7 +550,7 @@ static void hfa_update_stats1(struct cgpu_info *hashfast, struct hashfast_info *
s1->uart_rx_bad_dma += sd->uart_rx_bad_dma; s1->uart_rx_bad_dma += sd->uart_rx_bad_dma;
s1->uart_rx_short_dma += sd->uart_rx_short_dma; s1->uart_rx_short_dma += sd->uart_rx_short_dma;
s1->uart_rx_buffers_full += sd->uart_rx_buffers_full; s1->uart_rx_buffers_full += sd->uart_rx_buffers_full;
#endif
if (sd->max_tx_buffers > s1->max_tx_buffers) if (sd->max_tx_buffers > s1->max_tx_buffers)
s1->max_tx_buffers = sd->max_tx_buffers; s1->max_tx_buffers = sd->max_tx_buffers;
if (sd->max_rx_buffers > s1->max_rx_buffers) if (sd->max_rx_buffers > s1->max_rx_buffers)
@ -567,7 +568,7 @@ static void hfa_update_stats1(struct cgpu_info *hashfast, struct hashfast_info *
applog(LOG_DEBUG, " usb_tx_endpointstalled: %6d", sd->usb_tx_endpointstalled); applog(LOG_DEBUG, " usb_tx_endpointstalled: %6d", sd->usb_tx_endpointstalled);
applog(LOG_DEBUG, " usb_tx_disconnected: %6d", sd->usb_tx_disconnected); applog(LOG_DEBUG, " usb_tx_disconnected: %6d", sd->usb_tx_disconnected);
applog(LOG_DEBUG, " usb_tx_suspended: %6d", sd->usb_tx_suspended); applog(LOG_DEBUG, " usb_tx_suspended: %6d", sd->usb_tx_suspended);
#if 0
applog(LOG_DEBUG, " uart_tx_queue_dma: %6d", sd->uart_tx_queue_dma); applog(LOG_DEBUG, " uart_tx_queue_dma: %6d", sd->uart_tx_queue_dma);
applog(LOG_DEBUG, " uart_tx_interrupts: %6d", sd->uart_tx_interrupts); applog(LOG_DEBUG, " uart_tx_interrupts: %6d", sd->uart_tx_interrupts);
@ -579,7 +580,7 @@ static void hfa_update_stats1(struct cgpu_info *hashfast, struct hashfast_info *
applog(LOG_DEBUG, " uart_rx_bad_dma: %6d", sd->uart_rx_bad_dma); applog(LOG_DEBUG, " uart_rx_bad_dma: %6d", sd->uart_rx_bad_dma);
applog(LOG_DEBUG, " uart_rx_short_dma: %6d", sd->uart_rx_short_dma); applog(LOG_DEBUG, " uart_rx_short_dma: %6d", sd->uart_rx_short_dma);
applog(LOG_DEBUG, " uart_rx_buffers_full: %6d", sd->uart_rx_buffers_full); applog(LOG_DEBUG, " uart_rx_buffers_full: %6d", sd->uart_rx_buffers_full);
#endif
applog(LOG_DEBUG, " max_tx_buffers: %6d", sd->max_tx_buffers); applog(LOG_DEBUG, " max_tx_buffers: %6d", sd->max_tx_buffers);
applog(LOG_DEBUG, " max_rx_buffers: %6d", sd->max_rx_buffers); applog(LOG_DEBUG, " max_rx_buffers: %6d", sd->max_rx_buffers);

16
driver-hashfast.h

@ -19,18 +19,18 @@
#define HASHFAST_MINER_THREADS 1 #define HASHFAST_MINER_THREADS 1
#define HF_SEQUENCE_DISTANCE(tx,rx) ((tx)>=(rx)?((tx)-(rx)):(info->num_sequence+(tx)-(rx))) #define HF_SEQUENCE_DISTANCE(tx,rx) ((tx)>=(rx)?((tx)-(rx)):(info->num_sequence+(tx)-(rx)))
// Matching fields for hf_statistics, but large #'s for local accumulation, per-die // Matching fields for hf_statistics, but large #s for local accumulation, per-die
struct hf_long_statistics { struct hf_long_statistics {
uint64_t rx_header_crc; // Header CRC's uint64_t rx_header_crc; // Header CRCs
uint64_t rx_body_crc; // Data CRC's uint64_t rx_body_crc; // Data CRCs
uint64_t rx_header_timeouts; // Header timeouts uint64_t rx_header_timeouts; // Header timeouts
uint64_t rx_body_timeouts; // Data timeouts uint64_t rx_body_timeouts; // Data timeouts
uint64_t core_nonce_fifo_full; // Core nonce Q overrun events uint64_t core_nonce_fifo_full; // Core nonce Q overrun events
uint64_t array_nonce_fifo_full; // System nonce Q overrun events uint64_t array_nonce_fifo_full; // System nonce Q overrun events
uint64_t stats_overrun; // Overrun in statistics reporting uint64_t stats_overrun; // Overrun in statistics reporting
} __attribute__((packed,aligned(4))); };
// Matching fields for hf_usb_stats1, but large #'s for local accumulation, per device // Matching fields for hf_usb_stats1, but large #s for local accumulation, per device
struct hf_long_usb_stats1 { struct hf_long_usb_stats1 {
// USB incoming // USB incoming
uint64_t usb_rx_preambles; uint64_t usb_rx_preambles;
@ -45,7 +45,8 @@ struct hf_long_usb_stats1 {
uint64_t usb_tx_endpointstalled; uint64_t usb_tx_endpointstalled;
uint64_t usb_tx_disconnected; uint64_t usb_tx_disconnected;
uint64_t usb_tx_suspended; uint64_t usb_tx_suspended;
#if 0
/* We don't care about UART stats */
// UART transmit // UART transmit
uint64_t uart_tx_queue_dma; uint64_t uart_tx_queue_dma;
uint64_t uart_tx_interrupts; uint64_t uart_tx_interrupts;
@ -59,10 +60,11 @@ struct hf_long_usb_stats1 {
uint64_t uart_rx_bad_dma; uint64_t uart_rx_bad_dma;
uint64_t uart_rx_short_dma; uint64_t uart_rx_short_dma;
uint64_t uart_rx_buffers_full; uint64_t uart_rx_buffers_full;
#endif
uint8_t max_tx_buffers; uint8_t max_tx_buffers;
uint8_t max_rx_buffers; uint8_t max_rx_buffers;
} __attribute__((packed,aligned(8))); };
struct hashfast_info { struct hashfast_info {
int asic_count; // # of chips in the chain int asic_count; // # of chips in the chain

Loading…
Cancel
Save