powerpc: Fix bogus it_blocksize in VIO iommu code
When looking at some issues with the virtual ethernet driver I noticed
that TCE allocation was following a very strange pattern:
address
00e9000 length 2048
address
0409000 length 2048 <-----
address
0429000 length 2048
address
0449000 length 2048
address
0469000 length 2048
address
0489000 length 2048
address
04a9000 length 2048
address
04c9000 length 2048
address
04e9000 length 2048
address
4009000 length 2048 <-----
address
4029000 length 2048
Huge unexplained gaps in what should be an empty TCE table. It turns out
it_blocksize, the amount we want to align the next allocation to, was
c0000000fe903b20. Completely bogus.
Initialise it to something reasonable in the VIO IOMMU code, and use kzalloc
everywhere to protect against this when we next add a non compulsary
field to iommu code and forget to initialise it.
Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>