some kzalloc fix and use bcm2835_hw params in preallocate

Well testing ffplay with some TrueHD files gave me:
ALSA lib pcm.c:7843:(snd_pcm_recover) underrun occurred  0B f=0/0
 cat /proc/asound/*/pcm*p/sub*/prealloc and prealloc_max == 64

So its not possible to set or test bigger prealloc but  i found this:
bcm2708-i2s.c:    .period_bytes_max    = 64 * PAGE_SIZE,
bcm2708-i2s.c:    .buffer_bytes_max    = 128 * PAGE_SIZE,
bcm2708-i2s.c:    .prealloc_buffer_size = 256 * PAGE_SIZE,

Then compared with  bcm2835-pcm.c: snd_pcm_lib_preallocate_pages_for_all(pcm,SNDRV_DMA_TYPE_CONTINUOUS,                                           snd_dma_continuous_data(GFP_KERNEL), 64 * 1024, 64 * 1024);

First in this commit i set the prealloc and prealloc_max to bcm2835_hw_defs. 
But the values in bcm2708-i2s module are bigger, maybe increase the prealloc_max size to 256k ?