Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 182170
b: refs/heads/master
c: 432ac5e
h: refs/heads/master
v: v3
  • Loading branch information
Jan Glauber authored and Martin Schwidefsky committed Feb 26, 2010
1 parent 62e43fc commit 918c100
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 9 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: d307297f73077b4dc8110eb998108ffc467e8e6c
refs/heads/master: 432ac5e04b931df8376e0858d4bf0fd41436a271
3 changes: 2 additions & 1 deletion trunk/arch/s390/include/asm/qdio.h
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,8 @@
#include <asm/cio.h>
#include <asm/ccwdev.h>

#define QDIO_MAX_QUEUES_PER_IRQ 32
/* only use 4 queues to save some cachelines */
#define QDIO_MAX_QUEUES_PER_IRQ 4
#define QDIO_MAX_BUFFERS_PER_Q 128
#define QDIO_MAX_BUFFERS_MASK (QDIO_MAX_BUFFERS_PER_Q - 1)
#define QDIO_MAX_ELEMENTS_PER_BUFFER 16
Expand Down
9 changes: 3 additions & 6 deletions trunk/drivers/s390/cio/qdio.h
Original file line number Diff line number Diff line change
Expand Up @@ -208,7 +208,7 @@ struct qdio_dev_perf_stat {
unsigned int eqbs_partial;
unsigned int sqbs;
unsigned int sqbs_partial;
};
} ____cacheline_aligned;

struct qdio_queue_perf_stat {
/*
Expand Down Expand Up @@ -329,12 +329,8 @@ struct qdio_irq {
struct qdio_ssqd_desc ssqd_desc;
void (*orig_handler) (struct ccw_device *, unsigned long, struct irb *);

struct qdio_dev_perf_stat perf_stat;
int perf_stat_enabled;
/*
* Warning: Leave these members together at the end so they won't be
* cleared in qdio_setup_irq.
*/

struct qdr *qdr;
unsigned long chsc_page;

Expand All @@ -343,6 +339,7 @@ struct qdio_irq {

debug_info_t *debug_area;
struct mutex setup_mutex;
struct qdio_dev_perf_stat perf_stat;
};

/* helper functions */
Expand Down
10 changes: 9 additions & 1 deletion trunk/drivers/s390/cio/qdio_setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -382,7 +382,15 @@ int qdio_setup_irq(struct qdio_initialize *init_data)
struct qdio_irq *irq_ptr = init_data->cdev->private->qdio_data;
int rc;

memset(irq_ptr, 0, ((char *)&irq_ptr->qdr) - ((char *)irq_ptr));
memset(&irq_ptr->qib, 0, sizeof(irq_ptr->qib));
memset(&irq_ptr->siga_flag, 0, sizeof(irq_ptr->siga_flag));
memset(&irq_ptr->ccw, 0, sizeof(irq_ptr->ccw));
memset(&irq_ptr->ssqd_desc, 0, sizeof(irq_ptr->ssqd_desc));
memset(&irq_ptr->perf_stat, 0, sizeof(irq_ptr->perf_stat));

irq_ptr->debugfs_dev = irq_ptr->debugfs_perf = NULL;
irq_ptr->sch_token = irq_ptr->state = irq_ptr->perf_stat_enabled = 0;

/* wipes qib.ac, required by ar7063 */
memset(irq_ptr->qdr, 0, sizeof(struct qdr));

Expand Down

0 comments on commit 918c100

Please sign in to comment.