Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 221527
b: refs/heads/master
c: 50440c6
h: refs/heads/master
i:
  221525: acd6d3a
  221523: c7570b6
  221519: a177bf4
v: v3
  • Loading branch information
Linus Torvalds committed Nov 1, 2010
1 parent 69ae1ee commit 962027c
Show file tree
Hide file tree
Showing 130 changed files with 4,243 additions and 3,078 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: 55fee8d7f7cb011d7f161cf816220ac74e34b6b1
refs/heads/master: 50440c6dcccbf90ee3629407cb13ca09cab7d900
2 changes: 0 additions & 2 deletions trunk/Documentation/filesystems/Locking
Original file line number Diff line number Diff line change
Expand Up @@ -322,15 +322,13 @@ fl_release_private: yes yes
prototypes:
int (*fl_compare_owner)(struct file_lock *, struct file_lock *);
void (*fl_notify)(struct file_lock *); /* unblock callback */
void (*fl_copy_lock)(struct file_lock *, struct file_lock *);
void (*fl_release_private)(struct file_lock *);
void (*fl_break)(struct file_lock *); /* break_lease callback */

locking rules:
BKL may block
fl_compare_owner: yes no
fl_notify: yes no
fl_copy_lock: yes no
fl_release_private: yes yes
fl_break: yes no

Expand Down
47 changes: 47 additions & 0 deletions trunk/Documentation/scsi/ChangeLog.megaraid_sas
Original file line number Diff line number Diff line change
@@ -1,3 +1,50 @@
1 Release Date : Thur. May 03, 2010 09:12:45 PST 2009 -
(emaild-id:megaraidlinux@lsi.com)
Bo Yang

2 Current Version : 00.00.04.31-rc1
3 Older Version : 00.00.04.17.1-rc1

1. Add the Online Controller Reset (OCR) to the Driver.
OCR is the new feature for megaraid_sas driver which
will allow the fw to do the chip reset which will not
affact the OS behavious.

To add the OCR support, driver need to do:
a). reset the controller chips -- Xscale and Gen2 which
will change the function calls and add the reset function
related to this two chips.

b). during the reset, driver will store the pending cmds
which not returned by FW to driver's pending queue. Driver
will re-issue those pending cmds again to FW after the OCR
finished.

c). In driver's timeout routine, driver will report to
OS as reset. Also driver's queue routine will block the
cmds until the OCR finished.

d). in Driver's ISR routine, if driver get the FW state as
state change, FW in Failure status and FW support online controller
reset (OCR), driver will start to do the controller reset.

e). In driver's IOCTL routine, the application cmds will wait for the
OCR to finish, then issue the cmds to FW.

f). Before driver kill adapter, driver will do last chance of
OCR to see if driver can bring back the FW.

2. Add the support update flag to the driver to tell LSI megaraid_sas
application which driver will support the device update. So application
will not need to do the device update after application add/del the device
from the system.
3. In driver's timeout routine, driver will do three time reset if fw is in
failed state. Driver will kill adapter if can't bring back FW after the
this three times reset.
4. Add the input parameter max_sectors to 1MB support to our GEN2 controller.
customer can use the input paramenter max_sectors to add 1MB support to GEN2
controller.

1 Release Date : Thur. Oct 29, 2009 09:12:45 PST 2009 -
(emaild-id:megaraidlinux@lsi.com)
Bo Yang
Expand Down
2 changes: 1 addition & 1 deletion trunk/drivers/input/mouse/appletouch.c
Original file line number Diff line number Diff line change
Expand Up @@ -630,7 +630,7 @@ static void atp_complete_geyser_3_4(struct urb *urb)
/* Just update the base values (i.e. touchpad in untouched state) */
if (dev->data[dev->info->datalen - 1] & ATP_STATUS_BASE_UPDATE) {

dprintk(KERN_DEBUG "appletouch: updated base values\n");
dprintk("appletouch: updated base values\n");

memcpy(dev->xy_old, dev->xy_cur, sizeof(dev->xy_old));
goto exit;
Expand Down
32 changes: 27 additions & 5 deletions trunk/drivers/input/touchscreen/ad7879.c
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,9 @@ struct ad7879 {
u16 cmd_crtl1;
u16 cmd_crtl2;
u16 cmd_crtl3;
int x;
int y;
int Rt;
};

static int ad7879_read(struct ad7879 *ts, u8 reg)
Expand Down Expand Up @@ -175,13 +178,32 @@ static int ad7879_report(struct ad7879 *ts)
Rt /= z1;
Rt = (Rt + 2047) >> 12;

if (!timer_pending(&ts->timer))
/*
* Sample found inconsistent, pressure is beyond
* the maximum. Don't report it to user space.
*/
if (Rt > ts->pressure_max)
return -EINVAL;

/*
* Note that we delay reporting events by one sample.
* This is done to avoid reporting last sample of the
* touch sequence, which may be incomplete if finger
* leaves the surface before last reading is taken.
*/
if (timer_pending(&ts->timer)) {
/* Touch continues */
input_report_key(input_dev, BTN_TOUCH, 1);
input_report_abs(input_dev, ABS_X, ts->x);
input_report_abs(input_dev, ABS_Y, ts->y);
input_report_abs(input_dev, ABS_PRESSURE, ts->Rt);
input_sync(input_dev);
}

ts->x = x;
ts->y = y;
ts->Rt = Rt;

input_report_abs(input_dev, ABS_X, x);
input_report_abs(input_dev, ABS_Y, y);
input_report_abs(input_dev, ABS_PRESSURE, Rt);
input_sync(input_dev);
return 0;
}

Expand Down
2 changes: 1 addition & 1 deletion trunk/drivers/input/touchscreen/bu21013_ts.c
Original file line number Diff line number Diff line change
Expand Up @@ -514,7 +514,7 @@ static int __devinit bu21013_probe(struct i2c_client *client,
err_cs_disable:
pdata->cs_dis(pdata->cs_pin);
err_free_mem:
input_free_device(bu21013_data->in_dev);
input_free_device(in_dev);
kfree(bu21013_data);

return error;
Expand Down
2 changes: 1 addition & 1 deletion trunk/drivers/s390/scsi/zfcp_fc.h
Original file line number Diff line number Diff line change
Expand Up @@ -270,7 +270,7 @@ void zfcp_fc_eval_fcp_rsp(struct fcp_resp_with_ext *fcp_rsp,
if (unlikely(rsp_flags & FCP_SNS_LEN_VAL)) {
sense = (char *) &fcp_rsp[1];
if (rsp_flags & FCP_RSP_LEN_VAL)
sense += fcp_rsp->ext.fr_sns_len;
sense += fcp_rsp->ext.fr_rsp_len;
sense_len = min(fcp_rsp->ext.fr_sns_len,
(u32) SCSI_SENSE_BUFFERSIZE);
memcpy(scsi->sense_buffer, sense, sense_len);
Expand Down
3 changes: 0 additions & 3 deletions trunk/drivers/s390/scsi/zfcp_fsf.c
Original file line number Diff line number Diff line change
Expand Up @@ -532,9 +532,6 @@ static void zfcp_fsf_exchange_config_data_handler(struct zfcp_fsf_req *req)
fc_host_port_type(shost) = FC_PORTTYPE_UNKNOWN;
adapter->hydra_version = 0;

atomic_set_mask(ZFCP_STATUS_ADAPTER_XCONFIG_OK,
&adapter->status);

zfcp_fsf_link_down_info_eval(req,
&qtcb->header.fsf_status_qual.link_down_info);
break;
Expand Down
4 changes: 2 additions & 2 deletions trunk/drivers/s390/scsi/zfcp_unit.c
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,8 @@ int zfcp_unit_add(struct zfcp_port *port, u64 fcp_lun)
return -ENOMEM;
}

get_device(&port->dev);

if (device_register(&unit->dev)) {
put_device(&unit->dev);
return -ENOMEM;
Expand All @@ -152,8 +154,6 @@ int zfcp_unit_add(struct zfcp_port *port, u64 fcp_lun)
return -EINVAL;
}

get_device(&port->dev);

write_lock_irq(&port->unit_list_lock);
list_add_tail(&unit->list, &port->unit_list);
write_unlock_irq(&port->unit_list_lock);
Expand Down
48 changes: 24 additions & 24 deletions trunk/drivers/scsi/bfa/bfa.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,13 +29,13 @@ struct bfa_s;
typedef void (*bfa_isr_func_t) (struct bfa_s *bfa, struct bfi_msg_s *m);
typedef void (*bfa_cb_cbfn_t) (void *cbarg, bfa_boolean_t complete);

/**
/*
* Interrupt message handlers
*/
void bfa_isr_unhandled(struct bfa_s *bfa, struct bfi_msg_s *m);
void bfa_isr_bind(enum bfi_mclass mc, bfa_isr_func_t isr_func);

/**
/*
* Request and response queue related defines
*/
#define BFA_REQQ_NELEMS_MIN (4)
Expand All @@ -58,9 +58,9 @@ void bfa_isr_bind(enum bfi_mclass mc, bfa_isr_func_t isr_func);
#define bfa_reqq_produce(__bfa, __reqq) do { \
(__bfa)->iocfc.req_cq_pi[__reqq]++; \
(__bfa)->iocfc.req_cq_pi[__reqq] &= \
((__bfa)->iocfc.cfg.drvcfg.num_reqq_elems - 1); \
bfa_reg_write((__bfa)->iocfc.bfa_regs.cpe_q_pi[__reqq], \
(__bfa)->iocfc.req_cq_pi[__reqq]); \
((__bfa)->iocfc.cfg.drvcfg.num_reqq_elems - 1); \
writel((__bfa)->iocfc.req_cq_pi[__reqq], \
(__bfa)->iocfc.bfa_regs.cpe_q_pi[__reqq]); \
mmiowb(); \
} while (0)

Expand All @@ -76,7 +76,7 @@ void bfa_isr_bind(enum bfi_mclass mc, bfa_isr_func_t isr_func);
(__index) &= ((__size) - 1); \
} while (0)

/**
/*
* Queue element to wait for room in request queue. FIFO order is
* maintained when fullfilling requests.
*/
Expand All @@ -86,7 +86,7 @@ struct bfa_reqq_wait_s {
void *cbarg;
};

/**
/*
* Circular queue usage assignments
*/
enum {
Expand All @@ -113,7 +113,7 @@ bfa_reqq_winit(struct bfa_reqq_wait_s *wqe, void (*qresume) (void *cbarg),

#define bfa_reqq(__bfa, __reqq) (&(__bfa)->reqq_waitq[__reqq])

/**
/*
* static inline void
* bfa_reqq_wait(struct bfa_s *bfa, int reqq, struct bfa_reqq_wait_s *wqe)
*/
Expand All @@ -130,7 +130,7 @@ bfa_reqq_winit(struct bfa_reqq_wait_s *wqe, void (*qresume) (void *cbarg),
#define bfa_reqq_wcancel(__wqe) list_del(&(__wqe)->qe)


/**
/*
* Generic BFA callback element.
*/
struct bfa_cb_qe_s {
Expand Down Expand Up @@ -163,7 +163,7 @@ struct bfa_cb_qe_s {
} while (0)


/**
/*
* PCI devices supported by the current BFA
*/
struct bfa_pciid_s {
Expand All @@ -173,7 +173,7 @@ struct bfa_pciid_s {

extern char bfa_version[];

/**
/*
* BFA memory resources
*/
enum bfa_mem_type {
Expand Down Expand Up @@ -202,19 +202,19 @@ struct bfa_meminfo_s {
((_m)->meminfo[BFA_MEM_TYPE_DMA - 1].dma_curp)

struct bfa_iocfc_regs_s {
bfa_os_addr_t intr_status;
bfa_os_addr_t intr_mask;
bfa_os_addr_t cpe_q_pi[BFI_IOC_MAX_CQS];
bfa_os_addr_t cpe_q_ci[BFI_IOC_MAX_CQS];
bfa_os_addr_t cpe_q_depth[BFI_IOC_MAX_CQS];
bfa_os_addr_t cpe_q_ctrl[BFI_IOC_MAX_CQS];
bfa_os_addr_t rme_q_ci[BFI_IOC_MAX_CQS];
bfa_os_addr_t rme_q_pi[BFI_IOC_MAX_CQS];
bfa_os_addr_t rme_q_depth[BFI_IOC_MAX_CQS];
bfa_os_addr_t rme_q_ctrl[BFI_IOC_MAX_CQS];
void __iomem *intr_status;
void __iomem *intr_mask;
void __iomem *cpe_q_pi[BFI_IOC_MAX_CQS];
void __iomem *cpe_q_ci[BFI_IOC_MAX_CQS];
void __iomem *cpe_q_depth[BFI_IOC_MAX_CQS];
void __iomem *cpe_q_ctrl[BFI_IOC_MAX_CQS];
void __iomem *rme_q_ci[BFI_IOC_MAX_CQS];
void __iomem *rme_q_pi[BFI_IOC_MAX_CQS];
void __iomem *rme_q_depth[BFI_IOC_MAX_CQS];
void __iomem *rme_q_ctrl[BFI_IOC_MAX_CQS];
};

/**
/*
* MSIX vector handlers
*/
#define BFA_MSIX_MAX_VECTORS 22
Expand All @@ -224,7 +224,7 @@ struct bfa_msix_s {
bfa_msix_handler_t handler[BFA_MSIX_MAX_VECTORS];
};

/**
/*
* Chip specific interfaces
*/
struct bfa_hwif_s {
Expand Down Expand Up @@ -343,7 +343,7 @@ int bfa_iocfc_get_pbc_vports(struct bfa_s *bfa,
struct bfi_pbc_vport_s *pbc_vport);


/**
/*
*----------------------------------------------------------------------
* BFA public interfaces
*----------------------------------------------------------------------
Expand Down
22 changes: 11 additions & 11 deletions trunk/drivers/scsi/bfa/bfa_cb_ioim.h
Original file line number Diff line number Diff line change
Expand Up @@ -37,18 +37,18 @@ bfad_int_to_lun(u32 luno)
} lun;

lun.bfa_lun = 0;
lun.scsi_lun[0] = bfa_os_htons(luno);
lun.scsi_lun[0] = cpu_to_be16(luno);

return lun.bfa_lun;
}

/**
/*
* Get LUN for the I/O request
*/
#define bfa_cb_ioim_get_lun(__dio) \
bfad_int_to_lun(((struct scsi_cmnd *)__dio)->device->lun)

/**
/*
* Get CDB for the I/O request
*/
static inline u8 *
Expand All @@ -59,7 +59,7 @@ bfa_cb_ioim_get_cdb(struct bfad_ioim_s *dio)
return (u8 *) cmnd->cmnd;
}

/**
/*
* Get I/O direction (read/write) for the I/O request
*/
static inline enum fcp_iodir
Expand All @@ -77,7 +77,7 @@ bfa_cb_ioim_get_iodir(struct bfad_ioim_s *dio)
return FCP_IODIR_NONE;
}

/**
/*
* Get IO size in bytes for the I/O request
*/
static inline u32
Expand All @@ -88,7 +88,7 @@ bfa_cb_ioim_get_size(struct bfad_ioim_s *dio)
return scsi_bufflen(cmnd);
}

/**
/*
* Get timeout for the I/O request
*/
static inline u8
Expand All @@ -104,7 +104,7 @@ bfa_cb_ioim_get_timeout(struct bfad_ioim_s *dio)
return 0;
}

/**
/*
* Get Command Reference Number for the I/O request. 0 if none.
*/
static inline u8
Expand All @@ -113,7 +113,7 @@ bfa_cb_ioim_get_crn(struct bfad_ioim_s *dio)
return 0;
}

/**
/*
* Get SAM-3 priority for the I/O request. 0 is default.
*/
static inline u8
Expand All @@ -122,7 +122,7 @@ bfa_cb_ioim_get_priority(struct bfad_ioim_s *dio)
return 0;
}

/**
/*
* Get task attributes for the I/O request. Default is FCP_TASK_ATTR_SIMPLE(0).
*/
static inline u8
Expand All @@ -148,7 +148,7 @@ bfa_cb_ioim_get_taskattr(struct bfad_ioim_s *dio)
return task_attr;
}

/**
/*
* Get CDB length in bytes for the I/O request. Default is FCP_CMND_CDB_LEN(16).
*/
static inline u8
Expand All @@ -159,7 +159,7 @@ bfa_cb_ioim_get_cdblen(struct bfad_ioim_s *dio)
return cmnd->cmd_len;
}

/**
/*
* Assign queue to be used for the I/O request. This value depends on whether
* the driver wants to use the queues via any specific algorithm. Currently,
* this is not supported.
Expand Down
Loading

0 comments on commit 962027c

Please sign in to comment.