* [PATCH 00/22] Add and use pci_zalloc_consistent
@ 2014-06-23 13:41 Joe Perches
2014-06-23 13:41 ` [PATCH 07/22] media: Use pci_zalloc_consistent Joe Perches
` (3 more replies)
0 siblings, 4 replies; 10+ messages in thread
From: Joe Perches @ 2014-06-23 13:41 UTC (permalink / raw)
To: linux-kernel
Cc: linux-atm-general, netdev, iss_storagedev, linux-crypto,
dri-devel, linux-rdma, linux-media, linux-wireless, linux-scsi,
linux-eata, devel, linux-arch
Adding the helper reduces object code size as well as overall
source size line count.
It's also consistent with all the various zalloc mechanisms
in the kernel.
Done with a simple cocci script and some typing.
Joe Perches (22):
pci-dma-compat: Add pci_zalloc_consistent helper
atm: Use pci_zalloc_consistent
block: Use pci_zalloc_consistent
crypto: Use pci_zalloc_consistent
infiniband: Use pci_zalloc_consistent
i810: Use pci_zalloc_consistent
media: Use pci_zalloc_consistent
amd: Use pci_zalloc_consistent
atl1e: Use pci_zalloc_consistent
enic: Use pci_zalloc_consistent
sky2: Use pci_zalloc_consistent
micrel: Use pci_zalloc_consistent
qlogic: Use pci_zalloc_consistent
irda: Use pci_zalloc_consistent
ipw2100: Use pci_zalloc_consistent
mwl8k: Use pci_zalloc_consistent
rtl818x: Use pci_zalloc_consistent
rtlwifi: Use pci_zalloc_consistent
scsi: Use pci_zalloc_consistent
staging: Use pci_zalloc_consistent
synclink_gt: Use pci_zalloc_consistent
vme: bridges: Use pci_zalloc_consistent
drivers/atm/he.c | 31 ++++++++---------
drivers/atm/idt77252.c | 15 ++++----
drivers/block/DAC960.c | 18 +++++-----
drivers/block/cciss.c | 11 +++---
drivers/block/skd_main.c | 25 +++++---------
drivers/crypto/hifn_795x.c | 5 ++-
drivers/gpu/drm/i810/i810_dma.c | 5 ++-
drivers/infiniband/hw/amso1100/c2.c | 6 ++--
drivers/infiniband/hw/nes/nes_hw.c | 12 +++----
drivers/infiniband/hw/nes/nes_verbs.c | 5 ++-
drivers/media/common/saa7146/saa7146_core.c | 15 ++++----
drivers/media/common/saa7146/saa7146_fops.c | 5 +--
drivers/media/pci/bt8xx/bt878.c | 16 +++------
drivers/media/pci/ngene/ngene-core.c | 7 ++--
drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c | 11 ++----
drivers/media/usb/ttusb-dec/ttusb_dec.c | 11 ++----
drivers/net/ethernet/amd/pcnet32.c | 16 ++++-----
drivers/net/ethernet/atheros/atl1e/atl1e_main.c | 7 ++--
drivers/net/ethernet/cisco/enic/vnic_dev.c | 8 ++---
drivers/net/ethernet/marvell/sky2.c | 5 ++-
drivers/net/ethernet/micrel/ksz884x.c | 7 ++--
.../net/ethernet/qlogic/netxen/netxen_nic_ctx.c | 4 +--
drivers/net/ethernet/qlogic/qlge/qlge_main.c | 11 +++---
drivers/net/irda/vlsi_ir.c | 4 +--
drivers/net/wireless/ipw2x00/ipw2100.c | 16 +++------
drivers/net/wireless/mwl8k.c | 6 ++--
drivers/net/wireless/rtl818x/rtl8180/dev.c | 11 +++---
drivers/net/wireless/rtlwifi/pci.c | 17 +++------
drivers/scsi/3w-sas.c | 5 ++-
drivers/scsi/a100u2w.c | 8 ++---
drivers/scsi/be2iscsi/be_main.c | 10 +++---
drivers/scsi/be2iscsi/be_mgmt.c | 3 +-
drivers/scsi/csiostor/csio_wr.c | 8 +----
drivers/scsi/eata.c | 5 ++-
drivers/scsi/hpsa.c | 8 ++---
drivers/scsi/megaraid/megaraid_mbox.c | 16 ++++-----
drivers/scsi/megaraid/megaraid_sas_base.c | 8 ++---
drivers/scsi/mesh.c | 6 ++--
drivers/scsi/mvumi.c | 9 ++---
drivers/scsi/pm8001/pm8001_sas.c | 5 ++-
drivers/staging/rtl8192e/rtl8192e/rtl_core.c | 15 +++-----
drivers/staging/rtl8192ee/pci.c | 37 +++++++-------------
drivers/staging/rtl8821ae/pci.c | 36 +++++++------------
drivers/staging/slicoss/slicoss.c | 9 ++---
drivers/staging/vt6655/device_main.c | 40 +++++++---------------
drivers/tty/synclink_gt.c | 5 ++-
drivers/vme/bridges/vme_ca91cx42.c | 6 ++--
drivers/vme/bridges/vme_tsi148.c | 6 ++--
include/asm-generic/pci-dma-compat.h | 8 +++++
49 files changed, 209 insertions(+), 354 deletions(-)
--
1.8.1.2.459.gbcd45b4.dirty
^ permalink raw reply [flat|nested] 10+ messages in thread* [PATCH 07/22] media: Use pci_zalloc_consistent 2014-06-23 13:41 [PATCH 00/22] Add and use pci_zalloc_consistent Joe Perches @ 2014-06-23 13:41 ` Joe Perches 2014-06-27 8:20 ` Hans Verkuil 2014-06-23 17:25 ` [PATCH 00/22] Add and use pci_zalloc_consistent Luis R. Rodriguez ` (2 subsequent siblings) 3 siblings, 1 reply; 10+ messages in thread From: Joe Perches @ 2014-06-23 13:41 UTC (permalink / raw) To: linux-kernel; +Cc: Hans Verkuil, Mauro Carvalho Chehab, linux-media Remove the now unnecessary memset too. Signed-off-by: Joe Perches <joe@perches.com> --- drivers/media/common/saa7146/saa7146_core.c | 15 ++++++--------- drivers/media/common/saa7146/saa7146_fops.c | 5 +++-- drivers/media/pci/bt8xx/bt878.c | 16 ++++------------ drivers/media/pci/ngene/ngene-core.c | 7 +++---- drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c | 11 +++-------- drivers/media/usb/ttusb-dec/ttusb_dec.c | 11 +++-------- 6 files changed, 22 insertions(+), 43 deletions(-) diff --git a/drivers/media/common/saa7146/saa7146_core.c b/drivers/media/common/saa7146/saa7146_core.c index 34b0d0d..97afee6 100644 --- a/drivers/media/common/saa7146/saa7146_core.c +++ b/drivers/media/common/saa7146/saa7146_core.c @@ -421,23 +421,20 @@ static int saa7146_init_one(struct pci_dev *pci, const struct pci_device_id *ent err = -ENOMEM; /* get memory for various stuff */ - dev->d_rps0.cpu_addr = pci_alloc_consistent(pci, SAA7146_RPS_MEM, - &dev->d_rps0.dma_handle); + dev->d_rps0.cpu_addr = pci_zalloc_consistent(pci, SAA7146_RPS_MEM, + &dev->d_rps0.dma_handle); if (!dev->d_rps0.cpu_addr) goto err_free_irq; - memset(dev->d_rps0.cpu_addr, 0x0, SAA7146_RPS_MEM); - dev->d_rps1.cpu_addr = pci_alloc_consistent(pci, SAA7146_RPS_MEM, - &dev->d_rps1.dma_handle); + dev->d_rps1.cpu_addr = pci_zalloc_consistent(pci, SAA7146_RPS_MEM, + &dev->d_rps1.dma_handle); if (!dev->d_rps1.cpu_addr) goto err_free_rps0; - memset(dev->d_rps1.cpu_addr, 0x0, SAA7146_RPS_MEM); - dev->d_i2c.cpu_addr = pci_alloc_consistent(pci, SAA7146_RPS_MEM, - &dev->d_i2c.dma_handle); + dev->d_i2c.cpu_addr = pci_zalloc_consistent(pci, SAA7146_RPS_MEM, + &dev->d_i2c.dma_handle); if (!dev->d_i2c.cpu_addr) goto err_free_rps1; - memset(dev->d_i2c.cpu_addr, 0x0, SAA7146_RPS_MEM); /* the rest + print status message */ diff --git a/drivers/media/common/saa7146/saa7146_fops.c b/drivers/media/common/saa7146/saa7146_fops.c index eda01bc..a776a80 100644 --- a/drivers/media/common/saa7146/saa7146_fops.c +++ b/drivers/media/common/saa7146/saa7146_fops.c @@ -520,14 +520,15 @@ int saa7146_vv_init(struct saa7146_dev* dev, struct saa7146_ext_vv *ext_vv) configuration data) */ dev->ext_vv_data = ext_vv; - vv->d_clipping.cpu_addr = pci_alloc_consistent(dev->pci, SAA7146_CLIPPING_MEM, &vv->d_clipping.dma_handle); + vv->d_clipping.cpu_addr = + pci_zalloc_consistent(dev->pci, SAA7146_CLIPPING_MEM, + &vv->d_clipping.dma_handle); if( NULL == vv->d_clipping.cpu_addr ) { ERR("out of memory. aborting.\n"); kfree(vv); v4l2_ctrl_handler_free(hdl); return -1; } - memset(vv->d_clipping.cpu_addr, 0x0, SAA7146_CLIPPING_MEM); saa7146_video_uops.init(dev,vv); if (dev->ext_vv_data->capabilities & V4L2_CAP_VBI_CAPTURE) diff --git a/drivers/media/pci/bt8xx/bt878.c b/drivers/media/pci/bt8xx/bt878.c index d0c281f..1176583 100644 --- a/drivers/media/pci/bt8xx/bt878.c +++ b/drivers/media/pci/bt8xx/bt878.c @@ -101,28 +101,20 @@ static int bt878_mem_alloc(struct bt878 *bt) if (!bt->buf_cpu) { bt->buf_size = 128 * 1024; - bt->buf_cpu = - pci_alloc_consistent(bt->dev, bt->buf_size, - &bt->buf_dma); - + bt->buf_cpu = pci_zalloc_consistent(bt->dev, bt->buf_size, + &bt->buf_dma); if (!bt->buf_cpu) return -ENOMEM; - - memset(bt->buf_cpu, 0, bt->buf_size); } if (!bt->risc_cpu) { bt->risc_size = PAGE_SIZE; - bt->risc_cpu = - pci_alloc_consistent(bt->dev, bt->risc_size, - &bt->risc_dma); - + bt->risc_cpu = pci_zalloc_consistent(bt->dev, bt->risc_size, + &bt->risc_dma); if (!bt->risc_cpu) { bt878_mem_free(bt); return -ENOMEM; } - - memset(bt->risc_cpu, 0, bt->risc_size); } return 0; diff --git a/drivers/media/pci/ngene/ngene-core.c b/drivers/media/pci/ngene/ngene-core.c index 970e833..37dc149 100644 --- a/drivers/media/pci/ngene/ngene-core.c +++ b/drivers/media/pci/ngene/ngene-core.c @@ -1078,12 +1078,11 @@ static int AllocCommonBuffers(struct ngene *dev) dev->ngenetohost = dev->FWInterfaceBuffer + 256; dev->EventBuffer = dev->FWInterfaceBuffer + 512; - dev->OverflowBuffer = pci_alloc_consistent(dev->pci_dev, - OVERFLOW_BUFFER_SIZE, - &dev->PAOverflowBuffer); + dev->OverflowBuffer = pci_zalloc_consistent(dev->pci_dev, + OVERFLOW_BUFFER_SIZE, + &dev->PAOverflowBuffer); if (!dev->OverflowBuffer) return -ENOMEM; - memset(dev->OverflowBuffer, 0, OVERFLOW_BUFFER_SIZE); for (i = STREAM_VIDEOIN1; i < MAX_STREAM; i++) { int type = dev->card_info->io_type[i]; diff --git a/drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c b/drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c index f8a60c1..0d3194a 100644 --- a/drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c +++ b/drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c @@ -804,11 +804,9 @@ static int ttusb_alloc_iso_urbs(struct ttusb *ttusb) { int i; - ttusb->iso_buffer = pci_alloc_consistent(NULL, - ISO_FRAME_SIZE * - FRAMES_PER_ISO_BUF * - ISO_BUF_COUNT, - &ttusb->iso_dma_handle); + ttusb->iso_buffer = pci_zalloc_consistent(NULL, + ISO_FRAME_SIZE * FRAMES_PER_ISO_BUF * ISO_BUF_COUNT, + &ttusb->iso_dma_handle); if (!ttusb->iso_buffer) { dprintk("%s: pci_alloc_consistent - not enough memory\n", @@ -816,9 +814,6 @@ static int ttusb_alloc_iso_urbs(struct ttusb *ttusb) return -ENOMEM; } - memset(ttusb->iso_buffer, 0, - ISO_FRAME_SIZE * FRAMES_PER_ISO_BUF * ISO_BUF_COUNT); - for (i = 0; i < ISO_BUF_COUNT; i++) { struct urb *urb; diff --git a/drivers/media/usb/ttusb-dec/ttusb_dec.c b/drivers/media/usb/ttusb-dec/ttusb_dec.c index 29724af..15ab584 100644 --- a/drivers/media/usb/ttusb-dec/ttusb_dec.c +++ b/drivers/media/usb/ttusb-dec/ttusb_dec.c @@ -1151,11 +1151,9 @@ static int ttusb_dec_alloc_iso_urbs(struct ttusb_dec *dec) dprintk("%s\n", __func__); - dec->iso_buffer = pci_alloc_consistent(NULL, - ISO_FRAME_SIZE * - (FRAMES_PER_ISO_BUF * - ISO_BUF_COUNT), - &dec->iso_dma_handle); + dec->iso_buffer = pci_zalloc_consistent(NULL, + ISO_FRAME_SIZE * (FRAMES_PER_ISO_BUF * ISO_BUF_COUNT), + &dec->iso_dma_handle); if (!dec->iso_buffer) { dprintk("%s: pci_alloc_consistent - not enough memory\n", @@ -1163,9 +1161,6 @@ static int ttusb_dec_alloc_iso_urbs(struct ttusb_dec *dec) return -ENOMEM; } - memset(dec->iso_buffer, 0, - ISO_FRAME_SIZE * (FRAMES_PER_ISO_BUF * ISO_BUF_COUNT)); - for (i = 0; i < ISO_BUF_COUNT; i++) { struct urb *urb; -- 1.8.1.2.459.gbcd45b4.dirty ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH 07/22] media: Use pci_zalloc_consistent 2014-06-23 13:41 ` [PATCH 07/22] media: Use pci_zalloc_consistent Joe Perches @ 2014-06-27 8:20 ` Hans Verkuil 2014-06-27 10:55 ` Mauro Carvalho Chehab 0 siblings, 1 reply; 10+ messages in thread From: Hans Verkuil @ 2014-06-27 8:20 UTC (permalink / raw) To: Joe Perches, linux-kernel; +Cc: Mauro Carvalho Chehab, linux-media Hi Joe, For the media subsystem: Acked-by: Hans Verkuil <hans.verkuil@cisco.com> Regards, Hans On 06/23/2014 03:41 PM, Joe Perches wrote: > Remove the now unnecessary memset too. > > Signed-off-by: Joe Perches <joe@perches.com> > --- > drivers/media/common/saa7146/saa7146_core.c | 15 ++++++--------- > drivers/media/common/saa7146/saa7146_fops.c | 5 +++-- > drivers/media/pci/bt8xx/bt878.c | 16 ++++------------ > drivers/media/pci/ngene/ngene-core.c | 7 +++---- > drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c | 11 +++-------- > drivers/media/usb/ttusb-dec/ttusb_dec.c | 11 +++-------- > 6 files changed, 22 insertions(+), 43 deletions(-) > > diff --git a/drivers/media/common/saa7146/saa7146_core.c b/drivers/media/common/saa7146/saa7146_core.c > index 34b0d0d..97afee6 100644 > --- a/drivers/media/common/saa7146/saa7146_core.c > +++ b/drivers/media/common/saa7146/saa7146_core.c > @@ -421,23 +421,20 @@ static int saa7146_init_one(struct pci_dev *pci, const struct pci_device_id *ent > err = -ENOMEM; > > /* get memory for various stuff */ > - dev->d_rps0.cpu_addr = pci_alloc_consistent(pci, SAA7146_RPS_MEM, > - &dev->d_rps0.dma_handle); > + dev->d_rps0.cpu_addr = pci_zalloc_consistent(pci, SAA7146_RPS_MEM, > + &dev->d_rps0.dma_handle); > if (!dev->d_rps0.cpu_addr) > goto err_free_irq; > - memset(dev->d_rps0.cpu_addr, 0x0, SAA7146_RPS_MEM); > > - dev->d_rps1.cpu_addr = pci_alloc_consistent(pci, SAA7146_RPS_MEM, > - &dev->d_rps1.dma_handle); > + dev->d_rps1.cpu_addr = pci_zalloc_consistent(pci, SAA7146_RPS_MEM, > + &dev->d_rps1.dma_handle); > if (!dev->d_rps1.cpu_addr) > goto err_free_rps0; > - memset(dev->d_rps1.cpu_addr, 0x0, SAA7146_RPS_MEM); > > - dev->d_i2c.cpu_addr = pci_alloc_consistent(pci, SAA7146_RPS_MEM, > - &dev->d_i2c.dma_handle); > + dev->d_i2c.cpu_addr = pci_zalloc_consistent(pci, SAA7146_RPS_MEM, > + &dev->d_i2c.dma_handle); > if (!dev->d_i2c.cpu_addr) > goto err_free_rps1; > - memset(dev->d_i2c.cpu_addr, 0x0, SAA7146_RPS_MEM); > > /* the rest + print status message */ > > diff --git a/drivers/media/common/saa7146/saa7146_fops.c b/drivers/media/common/saa7146/saa7146_fops.c > index eda01bc..a776a80 100644 > --- a/drivers/media/common/saa7146/saa7146_fops.c > +++ b/drivers/media/common/saa7146/saa7146_fops.c > @@ -520,14 +520,15 @@ int saa7146_vv_init(struct saa7146_dev* dev, struct saa7146_ext_vv *ext_vv) > configuration data) */ > dev->ext_vv_data = ext_vv; > > - vv->d_clipping.cpu_addr = pci_alloc_consistent(dev->pci, SAA7146_CLIPPING_MEM, &vv->d_clipping.dma_handle); > + vv->d_clipping.cpu_addr = > + pci_zalloc_consistent(dev->pci, SAA7146_CLIPPING_MEM, > + &vv->d_clipping.dma_handle); > if( NULL == vv->d_clipping.cpu_addr ) { > ERR("out of memory. aborting.\n"); > kfree(vv); > v4l2_ctrl_handler_free(hdl); > return -1; > } > - memset(vv->d_clipping.cpu_addr, 0x0, SAA7146_CLIPPING_MEM); > > saa7146_video_uops.init(dev,vv); > if (dev->ext_vv_data->capabilities & V4L2_CAP_VBI_CAPTURE) > diff --git a/drivers/media/pci/bt8xx/bt878.c b/drivers/media/pci/bt8xx/bt878.c > index d0c281f..1176583 100644 > --- a/drivers/media/pci/bt8xx/bt878.c > +++ b/drivers/media/pci/bt8xx/bt878.c > @@ -101,28 +101,20 @@ static int bt878_mem_alloc(struct bt878 *bt) > if (!bt->buf_cpu) { > bt->buf_size = 128 * 1024; > > - bt->buf_cpu = > - pci_alloc_consistent(bt->dev, bt->buf_size, > - &bt->buf_dma); > - > + bt->buf_cpu = pci_zalloc_consistent(bt->dev, bt->buf_size, > + &bt->buf_dma); > if (!bt->buf_cpu) > return -ENOMEM; > - > - memset(bt->buf_cpu, 0, bt->buf_size); > } > > if (!bt->risc_cpu) { > bt->risc_size = PAGE_SIZE; > - bt->risc_cpu = > - pci_alloc_consistent(bt->dev, bt->risc_size, > - &bt->risc_dma); > - > + bt->risc_cpu = pci_zalloc_consistent(bt->dev, bt->risc_size, > + &bt->risc_dma); > if (!bt->risc_cpu) { > bt878_mem_free(bt); > return -ENOMEM; > } > - > - memset(bt->risc_cpu, 0, bt->risc_size); > } > > return 0; > diff --git a/drivers/media/pci/ngene/ngene-core.c b/drivers/media/pci/ngene/ngene-core.c > index 970e833..37dc149 100644 > --- a/drivers/media/pci/ngene/ngene-core.c > +++ b/drivers/media/pci/ngene/ngene-core.c > @@ -1078,12 +1078,11 @@ static int AllocCommonBuffers(struct ngene *dev) > dev->ngenetohost = dev->FWInterfaceBuffer + 256; > dev->EventBuffer = dev->FWInterfaceBuffer + 512; > > - dev->OverflowBuffer = pci_alloc_consistent(dev->pci_dev, > - OVERFLOW_BUFFER_SIZE, > - &dev->PAOverflowBuffer); > + dev->OverflowBuffer = pci_zalloc_consistent(dev->pci_dev, > + OVERFLOW_BUFFER_SIZE, > + &dev->PAOverflowBuffer); > if (!dev->OverflowBuffer) > return -ENOMEM; > - memset(dev->OverflowBuffer, 0, OVERFLOW_BUFFER_SIZE); > > for (i = STREAM_VIDEOIN1; i < MAX_STREAM; i++) { > int type = dev->card_info->io_type[i]; > diff --git a/drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c b/drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c > index f8a60c1..0d3194a 100644 > --- a/drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c > +++ b/drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c > @@ -804,11 +804,9 @@ static int ttusb_alloc_iso_urbs(struct ttusb *ttusb) > { > int i; > > - ttusb->iso_buffer = pci_alloc_consistent(NULL, > - ISO_FRAME_SIZE * > - FRAMES_PER_ISO_BUF * > - ISO_BUF_COUNT, > - &ttusb->iso_dma_handle); > + ttusb->iso_buffer = pci_zalloc_consistent(NULL, > + ISO_FRAME_SIZE * FRAMES_PER_ISO_BUF * ISO_BUF_COUNT, > + &ttusb->iso_dma_handle); > > if (!ttusb->iso_buffer) { > dprintk("%s: pci_alloc_consistent - not enough memory\n", > @@ -816,9 +814,6 @@ static int ttusb_alloc_iso_urbs(struct ttusb *ttusb) > return -ENOMEM; > } > > - memset(ttusb->iso_buffer, 0, > - ISO_FRAME_SIZE * FRAMES_PER_ISO_BUF * ISO_BUF_COUNT); > - > for (i = 0; i < ISO_BUF_COUNT; i++) { > struct urb *urb; > > diff --git a/drivers/media/usb/ttusb-dec/ttusb_dec.c b/drivers/media/usb/ttusb-dec/ttusb_dec.c > index 29724af..15ab584 100644 > --- a/drivers/media/usb/ttusb-dec/ttusb_dec.c > +++ b/drivers/media/usb/ttusb-dec/ttusb_dec.c > @@ -1151,11 +1151,9 @@ static int ttusb_dec_alloc_iso_urbs(struct ttusb_dec *dec) > > dprintk("%s\n", __func__); > > - dec->iso_buffer = pci_alloc_consistent(NULL, > - ISO_FRAME_SIZE * > - (FRAMES_PER_ISO_BUF * > - ISO_BUF_COUNT), > - &dec->iso_dma_handle); > + dec->iso_buffer = pci_zalloc_consistent(NULL, > + ISO_FRAME_SIZE * (FRAMES_PER_ISO_BUF * ISO_BUF_COUNT), > + &dec->iso_dma_handle); > > if (!dec->iso_buffer) { > dprintk("%s: pci_alloc_consistent - not enough memory\n", > @@ -1163,9 +1161,6 @@ static int ttusb_dec_alloc_iso_urbs(struct ttusb_dec *dec) > return -ENOMEM; > } > > - memset(dec->iso_buffer, 0, > - ISO_FRAME_SIZE * (FRAMES_PER_ISO_BUF * ISO_BUF_COUNT)); > - > for (i = 0; i < ISO_BUF_COUNT; i++) { > struct urb *urb; > > ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 07/22] media: Use pci_zalloc_consistent 2014-06-27 8:20 ` Hans Verkuil @ 2014-06-27 10:55 ` Mauro Carvalho Chehab 0 siblings, 0 replies; 10+ messages in thread From: Mauro Carvalho Chehab @ 2014-06-27 10:55 UTC (permalink / raw) To: Hans Verkuil; +Cc: Joe Perches, linux-kernel, linux-media Em Fri, 27 Jun 2014 10:20:33 +0200 Hans Verkuil <hverkuil@xs4all.nl> escreveu: > Hi Joe, > > For the media subsystem: > > Acked-by: Hans Verkuil <hans.verkuil@cisco.com> Err... I would rather prefer to apply this patch on our subsystem, in order to avoid potential conflicts with other patches. Not really a big deal, as those drivers aren't being touched for a while, but who knows what patches may appear for them up to the next merge tree? Regards, Mauro > > Regards, > > Hans > > On 06/23/2014 03:41 PM, Joe Perches wrote: > > Remove the now unnecessary memset too. > > > > Signed-off-by: Joe Perches <joe@perches.com> > > --- > > drivers/media/common/saa7146/saa7146_core.c | 15 ++++++--------- > > drivers/media/common/saa7146/saa7146_fops.c | 5 +++-- > > drivers/media/pci/bt8xx/bt878.c | 16 ++++------------ > > drivers/media/pci/ngene/ngene-core.c | 7 +++---- > > drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c | 11 +++-------- > > drivers/media/usb/ttusb-dec/ttusb_dec.c | 11 +++-------- > > 6 files changed, 22 insertions(+), 43 deletions(-) > > > > diff --git a/drivers/media/common/saa7146/saa7146_core.c b/drivers/media/common/saa7146/saa7146_core.c > > index 34b0d0d..97afee6 100644 > > --- a/drivers/media/common/saa7146/saa7146_core.c > > +++ b/drivers/media/common/saa7146/saa7146_core.c > > @@ -421,23 +421,20 @@ static int saa7146_init_one(struct pci_dev *pci, const struct pci_device_id *ent > > err = -ENOMEM; > > > > /* get memory for various stuff */ > > - dev->d_rps0.cpu_addr = pci_alloc_consistent(pci, SAA7146_RPS_MEM, > > - &dev->d_rps0.dma_handle); > > + dev->d_rps0.cpu_addr = pci_zalloc_consistent(pci, SAA7146_RPS_MEM, > > + &dev->d_rps0.dma_handle); > > if (!dev->d_rps0.cpu_addr) > > goto err_free_irq; > > - memset(dev->d_rps0.cpu_addr, 0x0, SAA7146_RPS_MEM); > > > > - dev->d_rps1.cpu_addr = pci_alloc_consistent(pci, SAA7146_RPS_MEM, > > - &dev->d_rps1.dma_handle); > > + dev->d_rps1.cpu_addr = pci_zalloc_consistent(pci, SAA7146_RPS_MEM, > > + &dev->d_rps1.dma_handle); > > if (!dev->d_rps1.cpu_addr) > > goto err_free_rps0; > > - memset(dev->d_rps1.cpu_addr, 0x0, SAA7146_RPS_MEM); > > > > - dev->d_i2c.cpu_addr = pci_alloc_consistent(pci, SAA7146_RPS_MEM, > > - &dev->d_i2c.dma_handle); > > + dev->d_i2c.cpu_addr = pci_zalloc_consistent(pci, SAA7146_RPS_MEM, > > + &dev->d_i2c.dma_handle); > > if (!dev->d_i2c.cpu_addr) > > goto err_free_rps1; > > - memset(dev->d_i2c.cpu_addr, 0x0, SAA7146_RPS_MEM); > > > > /* the rest + print status message */ > > > > diff --git a/drivers/media/common/saa7146/saa7146_fops.c b/drivers/media/common/saa7146/saa7146_fops.c > > index eda01bc..a776a80 100644 > > --- a/drivers/media/common/saa7146/saa7146_fops.c > > +++ b/drivers/media/common/saa7146/saa7146_fops.c > > @@ -520,14 +520,15 @@ int saa7146_vv_init(struct saa7146_dev* dev, struct saa7146_ext_vv *ext_vv) > > configuration data) */ > > dev->ext_vv_data = ext_vv; > > > > - vv->d_clipping.cpu_addr = pci_alloc_consistent(dev->pci, SAA7146_CLIPPING_MEM, &vv->d_clipping.dma_handle); > > + vv->d_clipping.cpu_addr = > > + pci_zalloc_consistent(dev->pci, SAA7146_CLIPPING_MEM, > > + &vv->d_clipping.dma_handle); > > if( NULL == vv->d_clipping.cpu_addr ) { > > ERR("out of memory. aborting.\n"); > > kfree(vv); > > v4l2_ctrl_handler_free(hdl); > > return -1; > > } > > - memset(vv->d_clipping.cpu_addr, 0x0, SAA7146_CLIPPING_MEM); > > > > saa7146_video_uops.init(dev,vv); > > if (dev->ext_vv_data->capabilities & V4L2_CAP_VBI_CAPTURE) > > diff --git a/drivers/media/pci/bt8xx/bt878.c b/drivers/media/pci/bt8xx/bt878.c > > index d0c281f..1176583 100644 > > --- a/drivers/media/pci/bt8xx/bt878.c > > +++ b/drivers/media/pci/bt8xx/bt878.c > > @@ -101,28 +101,20 @@ static int bt878_mem_alloc(struct bt878 *bt) > > if (!bt->buf_cpu) { > > bt->buf_size = 128 * 1024; > > > > - bt->buf_cpu = > > - pci_alloc_consistent(bt->dev, bt->buf_size, > > - &bt->buf_dma); > > - > > + bt->buf_cpu = pci_zalloc_consistent(bt->dev, bt->buf_size, > > + &bt->buf_dma); > > if (!bt->buf_cpu) > > return -ENOMEM; > > - > > - memset(bt->buf_cpu, 0, bt->buf_size); > > } > > > > if (!bt->risc_cpu) { > > bt->risc_size = PAGE_SIZE; > > - bt->risc_cpu = > > - pci_alloc_consistent(bt->dev, bt->risc_size, > > - &bt->risc_dma); > > - > > + bt->risc_cpu = pci_zalloc_consistent(bt->dev, bt->risc_size, > > + &bt->risc_dma); > > if (!bt->risc_cpu) { > > bt878_mem_free(bt); > > return -ENOMEM; > > } > > - > > - memset(bt->risc_cpu, 0, bt->risc_size); > > } > > > > return 0; > > diff --git a/drivers/media/pci/ngene/ngene-core.c b/drivers/media/pci/ngene/ngene-core.c > > index 970e833..37dc149 100644 > > --- a/drivers/media/pci/ngene/ngene-core.c > > +++ b/drivers/media/pci/ngene/ngene-core.c > > @@ -1078,12 +1078,11 @@ static int AllocCommonBuffers(struct ngene *dev) > > dev->ngenetohost = dev->FWInterfaceBuffer + 256; > > dev->EventBuffer = dev->FWInterfaceBuffer + 512; > > > > - dev->OverflowBuffer = pci_alloc_consistent(dev->pci_dev, > > - OVERFLOW_BUFFER_SIZE, > > - &dev->PAOverflowBuffer); > > + dev->OverflowBuffer = pci_zalloc_consistent(dev->pci_dev, > > + OVERFLOW_BUFFER_SIZE, > > + &dev->PAOverflowBuffer); > > if (!dev->OverflowBuffer) > > return -ENOMEM; > > - memset(dev->OverflowBuffer, 0, OVERFLOW_BUFFER_SIZE); > > > > for (i = STREAM_VIDEOIN1; i < MAX_STREAM; i++) { > > int type = dev->card_info->io_type[i]; > > diff --git a/drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c b/drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c > > index f8a60c1..0d3194a 100644 > > --- a/drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c > > +++ b/drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c > > @@ -804,11 +804,9 @@ static int ttusb_alloc_iso_urbs(struct ttusb *ttusb) > > { > > int i; > > > > - ttusb->iso_buffer = pci_alloc_consistent(NULL, > > - ISO_FRAME_SIZE * > > - FRAMES_PER_ISO_BUF * > > - ISO_BUF_COUNT, > > - &ttusb->iso_dma_handle); > > + ttusb->iso_buffer = pci_zalloc_consistent(NULL, > > + ISO_FRAME_SIZE * FRAMES_PER_ISO_BUF * ISO_BUF_COUNT, > > + &ttusb->iso_dma_handle); > > > > if (!ttusb->iso_buffer) { > > dprintk("%s: pci_alloc_consistent - not enough memory\n", > > @@ -816,9 +814,6 @@ static int ttusb_alloc_iso_urbs(struct ttusb *ttusb) > > return -ENOMEM; > > } > > > > - memset(ttusb->iso_buffer, 0, > > - ISO_FRAME_SIZE * FRAMES_PER_ISO_BUF * ISO_BUF_COUNT); > > - > > for (i = 0; i < ISO_BUF_COUNT; i++) { > > struct urb *urb; > > > > diff --git a/drivers/media/usb/ttusb-dec/ttusb_dec.c b/drivers/media/usb/ttusb-dec/ttusb_dec.c > > index 29724af..15ab584 100644 > > --- a/drivers/media/usb/ttusb-dec/ttusb_dec.c > > +++ b/drivers/media/usb/ttusb-dec/ttusb_dec.c > > @@ -1151,11 +1151,9 @@ static int ttusb_dec_alloc_iso_urbs(struct ttusb_dec *dec) > > > > dprintk("%s\n", __func__); > > > > - dec->iso_buffer = pci_alloc_consistent(NULL, > > - ISO_FRAME_SIZE * > > - (FRAMES_PER_ISO_BUF * > > - ISO_BUF_COUNT), > > - &dec->iso_dma_handle); > > + dec->iso_buffer = pci_zalloc_consistent(NULL, > > + ISO_FRAME_SIZE * (FRAMES_PER_ISO_BUF * ISO_BUF_COUNT), > > + &dec->iso_dma_handle); > > > > if (!dec->iso_buffer) { > > dprintk("%s: pci_alloc_consistent - not enough memory\n", > > @@ -1163,9 +1161,6 @@ static int ttusb_dec_alloc_iso_urbs(struct ttusb_dec *dec) > > return -ENOMEM; > > } > > > > - memset(dec->iso_buffer, 0, > > - ISO_FRAME_SIZE * (FRAMES_PER_ISO_BUF * ISO_BUF_COUNT)); > > - > > for (i = 0; i < ISO_BUF_COUNT; i++) { > > struct urb *urb; > > > > ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 00/22] Add and use pci_zalloc_consistent 2014-06-23 13:41 [PATCH 00/22] Add and use pci_zalloc_consistent Joe Perches 2014-06-23 13:41 ` [PATCH 07/22] media: Use pci_zalloc_consistent Joe Perches @ 2014-06-23 17:25 ` Luis R. Rodriguez 2014-06-23 19:13 ` Joe Perches 2014-06-23 21:49 ` David Miller 2014-06-25 19:41 ` John W. Linville 3 siblings, 1 reply; 10+ messages in thread From: Luis R. Rodriguez @ 2014-06-23 17:25 UTC (permalink / raw) To: Joe Perches Cc: linux-kernel, devel, linux-arch, linux-scsi, iss_storagedev, linux-rdma, netdev, linux-atm-general, linux-wireless, dri-devel, linux-crypto, linux-eata, linux-media On Mon, Jun 23, 2014 at 06:41:28AM -0700, Joe Perches wrote: > Adding the helper reduces object code size as well as overall > source size line count. > > It's also consistent with all the various zalloc mechanisms > in the kernel. > > Done with a simple cocci script and some typing. Awesome, any chance you can paste in the SmPL? Also any chance we can get this added to a make coccicheck so that maintainers moving forward can use that to ensure that no new code is added that uses the old school API? Luis ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 00/22] Add and use pci_zalloc_consistent 2014-06-23 17:25 ` [PATCH 00/22] Add and use pci_zalloc_consistent Luis R. Rodriguez @ 2014-06-23 19:13 ` Joe Perches 2014-06-23 23:27 ` Julian Calaby 0 siblings, 1 reply; 10+ messages in thread From: Joe Perches @ 2014-06-23 19:13 UTC (permalink / raw) To: Luis R. Rodriguez, Arnd Bergmann Cc: linux-kernel, devel, linux-arch, linux-scsi, iss_storagedev, linux-rdma, netdev, linux-atm-general, linux-wireless, dri-devel, linux-crypto, linux-eata, linux-media On Mon, 2014-06-23 at 10:25 -0700, Luis R. Rodriguez wrote: > On Mon, Jun 23, 2014 at 06:41:28AM -0700, Joe Perches wrote: > > Adding the helper reduces object code size as well as overall > > source size line count. > > > > It's also consistent with all the various zalloc mechanisms > > in the kernel. > > > > Done with a simple cocci script and some typing. > > Awesome, any chance you can paste in the SmPL? Also any chance > we can get this added to a make coccicheck so that maintainers > moving forward can use that to ensure that no new code is > added that uses the old school API? Not many of these are recent. Arnd Bergmann reasonably suggested that the pci_alloc_consistent api be converted the the more widely used dma_alloc_coherent. https://lkml.org/lkml/2014/6/23/513 > Shouldn't these drivers just use the normal dma-mapping API now? and I replied: https://lkml.org/lkml/2014/6/23/525 > Maybe. I wouldn't mind. > They do seem to have a trivial bit of unnecessary overhead for > hwdev == NULL ? NULL : &hwdev->dev Anyway, here's the little script. I'm not sure it's worthwhile to add it though. $ cat ./scripts/coccinelle/api/alloc/pci_zalloc_consistent.cocci /// /// Use pci_zalloc_consistent rather than /// pci_alloc_consistent followed by memset with 0 /// /// This considers some simple cases that are common and easy to validate /// Note in particular that there are no ...s in the rule, so all of the /// matched code has to be contiguous /// /// Blatantly cribbed from: scripts/coccinelle/api/alloc/kzalloc-simple.cocci @@ type T, T2; expression x; expression E1,E2,E3; statement S; @@ - x = (T)pci_alloc_consistent(E1,E2,E3); + x = pci_zalloc_consistent(E1,E2,E3); if ((x==NULL) || ...) S - memset((T2)x,0,E2); ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 00/22] Add and use pci_zalloc_consistent 2014-06-23 19:13 ` Joe Perches @ 2014-06-23 23:27 ` Julian Calaby 2014-06-24 11:32 ` Johannes Berg 0 siblings, 1 reply; 10+ messages in thread From: Julian Calaby @ 2014-06-23 23:27 UTC (permalink / raw) To: Joe Perches Cc: Luis R. Rodriguez, Arnd Bergmann, linux-kernel@vger.kernel.org, devel@driverdev.osuosl.org, linux-arch, linux-scsi, iss_storagedev, linux-rdma, netdev, linux-atm-general, linux-wireless, dri-devel, linux-crypto, linux-eata, linux-media Hi Joe, On Tue, Jun 24, 2014 at 5:13 AM, Joe Perches <joe@perches.com> wrote: > On Mon, 2014-06-23 at 10:25 -0700, Luis R. Rodriguez wrote: >> On Mon, Jun 23, 2014 at 06:41:28AM -0700, Joe Perches wrote: >> > Adding the helper reduces object code size as well as overall >> > source size line count. >> > >> > It's also consistent with all the various zalloc mechanisms >> > in the kernel. >> > >> > Done with a simple cocci script and some typing. >> >> Awesome, any chance you can paste in the SmPL? Also any chance >> we can get this added to a make coccicheck so that maintainers >> moving forward can use that to ensure that no new code is >> added that uses the old school API? > > Not many of these are recent. > > Arnd Bergmann reasonably suggested that the pci_alloc_consistent > api be converted the the more widely used dma_alloc_coherent. > > https://lkml.org/lkml/2014/6/23/513 > >> Shouldn't these drivers just use the normal dma-mapping API now? > > and I replied: > > https://lkml.org/lkml/2014/6/23/525 > >> Maybe. I wouldn't mind. >> They do seem to have a trivial bit of unnecessary overhead for >> hwdev == NULL ? NULL : &hwdev->dev > > Anyway, here's the little script. > I'm not sure it's worthwhile to add it though. > > $ cat ./scripts/coccinelle/api/alloc/pci_zalloc_consistent.cocci > /// > /// Use pci_zalloc_consistent rather than > /// pci_alloc_consistent followed by memset with 0 > /// > /// This considers some simple cases that are common and easy to validate > /// Note in particular that there are no ...s in the rule, so all of the > /// matched code has to be contiguous > /// > /// Blatantly cribbed from: scripts/coccinelle/api/alloc/kzalloc-simple.cocci > > @@ > type T, T2; > expression x; > expression E1,E2,E3; > statement S; > @@ > > - x = (T)pci_alloc_consistent(E1,E2,E3); > + x = pci_zalloc_consistent(E1,E2,E3); > if ((x==NULL) || ...) S > - memset((T2)x,0,E2); I don't know much about SmPL, but wouldn't having that if statement there reduce your matches? Thanks, -- Julian Calaby Email: julian.calaby@gmail.com Profile: http://www.google.com/profiles/julian.calaby/ .Plan: http://sites.google.com/site/juliancalaby/ ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 00/22] Add and use pci_zalloc_consistent 2014-06-23 23:27 ` Julian Calaby @ 2014-06-24 11:32 ` Johannes Berg 0 siblings, 0 replies; 10+ messages in thread From: Johannes Berg @ 2014-06-24 11:32 UTC (permalink / raw) To: Julian Calaby Cc: Joe Perches, Luis R. Rodriguez, Arnd Bergmann, linux-kernel@vger.kernel.org, devel@driverdev.osuosl.org, linux-arch, linux-scsi, iss_storagedev, linux-rdma, netdev, linux-atm-general, linux-wireless, dri-devel, linux-crypto, linux-eata, linux-media On Tue, 2014-06-24 at 09:27 +1000, Julian Calaby wrote: > > - x = (T)pci_alloc_consistent(E1,E2,E3); > > + x = pci_zalloc_consistent(E1,E2,E3); > > if ((x==NULL) || ...) S > > - memset((T2)x,0,E2); > > I don't know much about SmPL, but wouldn't having that if statement > there reduce your matches? Code that matched without the if statement would be buggy, since it wouldn't be checking the pci_zalloc_consistent return value properly.l johannes ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 00/22] Add and use pci_zalloc_consistent 2014-06-23 13:41 [PATCH 00/22] Add and use pci_zalloc_consistent Joe Perches 2014-06-23 13:41 ` [PATCH 07/22] media: Use pci_zalloc_consistent Joe Perches 2014-06-23 17:25 ` [PATCH 00/22] Add and use pci_zalloc_consistent Luis R. Rodriguez @ 2014-06-23 21:49 ` David Miller 2014-06-25 19:41 ` John W. Linville 3 siblings, 0 replies; 10+ messages in thread From: David Miller @ 2014-06-23 21:49 UTC (permalink / raw) To: joe Cc: linux-kernel, linux-atm-general, netdev, iss_storagedev, linux-crypto, dri-devel, linux-rdma, linux-media, linux-wireless, linux-scsi, linux-eata, devel, linux-arch From: Joe Perches <joe@perches.com> Date: Mon, 23 Jun 2014 06:41:28 -0700 > Adding the helper reduces object code size as well as overall > source size line count. > > It's also consistent with all the various zalloc mechanisms > in the kernel. > > Done with a simple cocci script and some typing. For networking bits: Acked-by: David S. Miller <davem@davemloft.net> ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 00/22] Add and use pci_zalloc_consistent 2014-06-23 13:41 [PATCH 00/22] Add and use pci_zalloc_consistent Joe Perches ` (2 preceding siblings ...) 2014-06-23 21:49 ` David Miller @ 2014-06-25 19:41 ` John W. Linville 3 siblings, 0 replies; 10+ messages in thread From: John W. Linville @ 2014-06-25 19:41 UTC (permalink / raw) To: Joe Perches Cc: linux-kernel, linux-atm-general, netdev, iss_storagedev, linux-crypto, dri-devel, linux-rdma, linux-media, linux-wireless, linux-scsi, linux-eata, devel, linux-arch On Mon, Jun 23, 2014 at 06:41:28AM -0700, Joe Perches wrote: > Adding the helper reduces object code size as well as overall > source size line count. > > It's also consistent with all the various zalloc mechanisms > in the kernel. > > Done with a simple cocci script and some typing. > > Joe Perches (22): > ipw2100: Use pci_zalloc_consistent > mwl8k: Use pci_zalloc_consistent > rtl818x: Use pci_zalloc_consistent > rtlwifi: Use pci_zalloc_consistent Sure, fine by me. -- John W. Linville Someday the world will need a hero, and you linville@tuxdriver.com might be all we have. Be ready. ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2014-06-27 10:55 UTC | newest] Thread overview: 10+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2014-06-23 13:41 [PATCH 00/22] Add and use pci_zalloc_consistent Joe Perches 2014-06-23 13:41 ` [PATCH 07/22] media: Use pci_zalloc_consistent Joe Perches 2014-06-27 8:20 ` Hans Verkuil 2014-06-27 10:55 ` Mauro Carvalho Chehab 2014-06-23 17:25 ` [PATCH 00/22] Add and use pci_zalloc_consistent Luis R. Rodriguez 2014-06-23 19:13 ` Joe Perches 2014-06-23 23:27 ` Julian Calaby 2014-06-24 11:32 ` Johannes Berg 2014-06-23 21:49 ` David Miller 2014-06-25 19:41 ` John W. Linville
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox