RE: [PATCH] OMAP: HSMMC: Do not enable buffer ready interrupt if using DMA

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, May 5, 2009, Jarkko Lavinen wrote: 
> On Tue, Apr 21, 2009 at 09:39:22AM +0200, ext Gadiyar, Anand wrote:
> > From: Anand Gadiyar <gadiyar@xxxxxx>
> > 
> > OMAP: HSMMC: Do not enable buffer ready interrupt if using DMA
> > 
> > This considerably reduces the number of interrupts during a transfer
> > and ought to result in some power saving.
> 
> I tried the patch with reading from the raw mmc block device to
> /dev/null with dd (with bs 32k and 1M).  I cannot see any
> difference in interrupt count from /proc/interrupts or in read
> speed. At least the patch works. Cpu was 34340es3.
> 
> I also trid without the patch just disabling the Buffer
> Read/write Ready bits from INT_EN_MASK which is then written to
> both MMCHS_IE and MMCHS_ISE.  Still no change in read speed nor
> mmc irq count.
> 
> Cheers
> Jarkko Lavinen

I discovered this while doing MMC writes. I did not check if there
was any difference during a read. I notice you have only tested with
MMC reads.

Here's what I get with and without the patch.

- Anand

Without patch
/ # mount -t vfat /dev/mmcblk0 /mnt/mmc
/ # cat /proc/interrupts | grep mmc
 83:         90        INTC  mmc0
384:          1     twl4030  mmc0
/ # dd if=/dev/zero of=/mnt/mmc/32kbs.txt bs=32k count=1000
1000+0 records in
1000+0 records out
/ # cat /proc/interrupts | grep mmc
 83:       3760        INTC  mmc0
384:          1     twl4030  mmc0
/ # dd if=/dev/zero of=/mnt/mmc/1Mbs.txt bs=1M count=32
32+0 records in
32+0 records out
/ # cat /proc/interrupts | grep mmc
 83:       7570        INTC  mmc0
384:          1     twl4030  mmc0
/ # ls -l /mnt/mmc
-rwxr-xr-x    1 root     root     33554432 Dec 31 18:03 1Mbs.txt
-rwxr-xr-x    1 root     root     32768000 Dec 31 18:03 32kbs.txt
/ # umount /mnt/mmc


With patch
/ # mount -t vfat /dev/mmcblk0 /mnt/mmc
/ # cat /proc/interrupts | grep mmc
 83:         67        INTC  mmc0
384:          0     twl4030  mmc0
/ # dd if=/dev/zero of=/mnt/mmc/32kbs.txt bs=32k count=1000
1000+0 records in
1000+0 records out
/ # cat /proc/interrupts | grep mmc
 83:       3103        INTC  mmc0
384:          0     twl4030  mmc0
/ # dd if=/dev/zero of=/mnt/mmc/1Mbs.txt bs=1M count=32
32+0 records in
32+0 records out
/ # cat /proc/interrupts | grep mmc
 83:       6170        INTC  mmc0
384:          0     twl4030  mmc0
/ # ls -l /mnt/mmc
-rwxr-xr-x    1 root     root     33554432 Dec 31 18:01 1Mbs.txt
-rwxr-xr-x    1 root     root     32768000 Dec 31 18:00 32kbs.txt
/ # umount /mnt/mmc--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux