OK, this is a good question.
The way that OS recognize the block size of a PCI device is to config write this device's BA and then read it back and check how many bits (lower bits) are pulled to zeros. The number of zero bits (lower bits) decides the block size.
For example, if the lower three bits are zeros, then the size is 8 bytes.