diskgroup calculations


I am using this query to display the size of the diskgroups in Oracle
and manually adding the figures up to get the total size of the

select b.instance_name, a.LABEL,a.NAME,a.TOTAL_MB,a.GROUP_NUMBER from v
$asm_disk a, v$asm_client b where a.group_number = b.group_number;

The question I have is:

1. Is there a better way to work out the calculations of total
diskgroup size?

2. The above query only works if the diskgroup is managed by ASM. What
would I be doing if there is no ASM? What would I have to change in
the query above?

Thank you.