Get Top parent url

You have to do it in a loop:

$p = $post;
while ( $p->post_parent ) {
    $p = get_post( $p->post_parent );
}
$parent_page_link = get_permalink( $p->ID );

Another way is to use get_ancestors function:

$ancestors = get_ancestors( $post->ID, 'page', 'post_type' );
$root = ( ! empty( $ancestors ) ) ? end($ancestors) : $post->ID;
$parent_page_link = get_permalink( $root );