arch/arm/common/dmabounce.c, arch/arm/kernel/dma.c, and arch/arm/include/asm/dma-mapping.h looks fine. arm/mach-imx/dma-v1.c also looks like to use chained sg API properly (but this isn't used with SCSI, right?). Seems that arch/arm/plat-omap/iovmm.c can handle the chained SG too. It doesn't allocate the chained SG now though.